Ինչու՞ պետք է տեղադրել Python հավելվածները pipx-ով (և ինչպես սկսել)


Հիմնական Takeaways

  • Python հավելվածների տեղադրումը կարող է դժվար լինել համակարգի փաթեթների հետ հնարավոր կոնֆլիկտների պատճառով, սակայն pipx-ը հեշտացնում է այն՝ ստեղծելով վիրտուալ միջավայրեր և կառավարելով ձեզ համար կախվածությունները:
  • Pipx-ը օգտագործողի համար հարմար այլընտրանք է pip-ին, որը տեղադրում է հավելվածներ համակարգով մեկ՝ առանց sudo-ի արտոնություններ պահանջելու, և այն օգնում է ձեզ առանց ջանքերի ավելացնել, թարմացնել կամ հեռացնել Python հավելվածները:
  • Pipx-ի միջոցով դուք կարող եք տեղադրել Python CLI հավելվածները, գործարկել դրանք ճիշտ այնպես, ինչպես ստանդարտ Linux հրամանները, և նույնիսկ հեշտությամբ հեռացնել դրանք: Դա հարմար գործիք է ձեր հավելվածների գրադարանը կառավարելու և ընդլայնելու համար:

Կան բազմաթիվ օգտակար Python CLI հավելվածներ, բայց տեղադրումը միշտ չէ, որ հեշտ է, ինչպես թվում է: Եկեք տեսնենք, թե ինչպես կարող է pipx-ը հեշտացնել դրանք տեղադրել և կառավարել:

Ինչու են Python հավելվածները բարդ

Python հավելվածների տեղադրումը կարող է բավականին արագ մազոտվել: Python-ը բազմակողմանի լեզու է, և հաճախ առաջին մարդիկ սովորում են: Զննարկելով GitHub-ը կամ PyPI-ը՝ Python Package Index-ը, կարող եք գտնել բազմաթիվ օգտակար հավելվածներ ծրագրավորման գրադարանների կողքին: Քանի որ այն դարձել է համատարած, կան շատ մարդիկ, որոնք նպաստում են կոդին, ինչպես նաև դրանք տեղադրելու հրահանգների խառնուրդին:

Տեղադրման հրահանգների մեծ մասը ձեզ հուշում է տեղադրել pip-ի միջոցով՝ python-ի փաթեթների կառավարիչ: Համեմատելի է Linux-ի համար apt-ի և yum-ի հետ, այն օգտագործում է PyPI-ն որպես իր պահոց և թույլ է տալիս տեղադրել գրադարաններ ձեր կոդի համար, ինչպես նաև Python-ով գրված ամբողջական հավելվածներ: Այնուամենայնիվ, ձեր համակարգում գտնվող pip-ի օրինակի միջոցով ծրագրակազմ տեղադրելը կարող է հակասություններ առաջացնել փաթեթների հետ, որոնք արդեն պատկանում և կառավարվում են ձեր սովորական փաթեթների կառավարչի կողմից: Linux-ի բաշխումների մեծ մասն այսօր օգտագործում և կախված է python-ից և հարակից փաթեթներից՝ գործարկելու օպերացիոն համակարգի գործառույթները, իսկ այլ հիմնական ծրագրերը հաճախ հիմնվում են որոշակի գրադարանների հատուկ տարբերակների վրա:

Ես կտրականապես չեմ խրախուսում համակարգի մակարդակով ծրագրակազմի տեղադրումը sudo pip install-ի միջոցով, քանի որ դա կարող է հանգեցնել ձեր համակարգի փաթեթների կառավարչի հետ կոնֆլիկտների և հանգեցնել խաթարված ֆունկցիոնալության, իսկ վատագույն դեպքում՝ չբեռնվող համակարգի: Ես նույնպես մենակ չեմ այս հարցում, քանի որ RealPython-ը և virtualenv-ի փաստաթղթերը խորհուրդ են տալիս դա, և նույնիսկ պաշտոնական Python փաստաթղթերը նշում են խնդիրը:

Մեկ այլ տարբերակ օգտատիրոջ մակարդակով տեղադրելն է pip install --user-ով, բայց ոչ բոլոր փաթեթներն են անթերի աշխատում այդ կերպ: Այդ օգտատիրոջ համար կախվածությունը դեռևս տեղադրված է ամբողջ համակարգով, ինչը կարող է նաև խնդիրներ առաջացնել:

Python համայնքը խորհուրդ է տալիս օգտագործել մի բան, որը կոչվում է վիրտուալ միջավայր, որը հաճախ կոչվում է venvs, ստեղծելու մեկուսացված թղթապանակներ, որոնք ներառում են նախագծի բոլոր անհրաժեշտ մասերը աշխատելու համար, բայց դրանց օգտագործումը, երբ դուք ծանոթ չեք գործընթացին, կարող է շատ զայրացնել: հատկապես, եթե դուք փորձում եք սցենար գրել: Սրանք ընդամենը մի քանի մարտահրավերներ են, որոնց օգտատերերը կարող են հանդիպել Python հավելվածներն իրենց համակարգում աշխատելու համար:

pipx փրկության համար

Մեր խնդիրները լուծելու համար մենք կարող ենք օգտագործել pipx կոչվող հավելվածը։ Սա ծրագրավորողների փոխարեն օգտագործողի համար հարմար այլընտրանք է, որն ուղղված է վերջնական օգտագործողներին: Այն ստեղծում է ձեզ համար վիրտուալ միջավայրեր, տեղադրում է կախվածությունները և ծրագրերը հասանելի է դարձնում ամբողջ համակարգում, այս ամենը առանց ձեր համակարգում նաև sudo արտոնություններ պահանջելու: Այն նաև կառավարում է ձեր տեղադրված python հավելվածները ձեզ համար՝ հեշտացնելով դրանք ավելացնելը, թարմացնելը կամ հեռացնելը, ինչպես հարմար եք գտնում:

Քանի որ pipx-ը նախատեսված չէ ծրագրավորողների համար, այն չի աջակցում որոշ կարևոր գործառույթներ, որոնք դուք կցանկանայիք մշակելիս, օրինակ՝ թեստավորման համար խմբագրվող փաթեթների տեղադրումը: Սա խստորեն օգտագործողների համար է:

Pipx-ը տեղադրելու համար ամենահեշտ ձևն է օգտագործել ձեր համակարգի փաթեթների կառավարիչը: Նախ, եկեք համոզվենք, որ անհրաժեշտ փաթեթները տեղադրված են: Եթե դուք Debian-ի վրա հիմնված բաշխման վրա եք, ինչպիսին Ubuntu-ն է, կարող եք օգտագործել apt.

sudo apt update && sudo apt install python3-venv python3-pip

Սա կտեղադրի հիմնական փաթեթները վիրտուալ միջավայրերի և pip փաթեթների կառավարչի համար: Linux-ի շատ բաշխումներ կունենան դրանք նախապես տեղադրված, բայց ոչ բոլորը: Շատ կարևոր է, որ Debian-ի և Ubuntu-ի տարբերակները չեն երաշխավորում, որ այդ փաթեթները կտեղադրվեն նախապես, այնպես որ, եթե դուք գտնվում եք այդ բաշխումներում, պետք է գործարկեք վերը նշված հրամանները: Եթե դուք այլ բաշխման եք, օգտագործեք ձեր համապատասխան փաթեթի մենեջերը, լինի դա yum, pacman կամ նույնիսկ brew:

Հաջորդը, մենք կարող ենք ինքնուրույն տեղադրել pipx փաթեթը:

sudo apt install pipx

Ի վերջո, մենք ցանկանում ենք համոզվել, որ pipx-ը կցված է մեր ճանապարհին, որպեսզի տեղադրված հավելվածները գործարկվեն նույն կերպ, ինչպես մյուսները: Մենք պարզապես պետք է գործարկենք այս pipx հրամանը.

pipx ensurepath

Ուշադրություն դարձրեք, որ այս հրամանի համար sudo չկա: Ամեն ինչ կաշխատի օգտագործողի տարածության մեջ, ինչը հենց այն է, ինչ մենք ուզում ենք, որպեսզի խուսափենք մեր օպերացիոն համակարգի Python տեղադրման հետ խառնաշփոթից:

Որոշ տարածություններում, օրինակ՝ Ubuntu-ում, դուք կարող եք հաղորդագրություն ստանալ, որը կտեղեկացնի ձեզ, որ անհրաժեշտ է նորից մուտք գործել, որպեսզի ուղու փոփոխությունն ուժի մեջ մտնի: Rhino Linux-ում ամեն ինչ անմիջապես աշխատում էր, բայց Ubuntu-ում ես ստիպված էի դուրս գալ և նորից մտնել:

Եվ վերջ, pipx-ը պատրաստ է: Եկեք նայենք, թե ինչպես օգտագործել այն Python-ի որոշ հավելվածների հետ:

Python CLI հավելվածների տեղադրում

Եկեք տեղադրենք զվարճալի հավելված, որը կոչվում է cowsay՝ օգտագործելով pipx:

pipx install cowsay

Դուք կարող եք օգտագործել Python հավելվածը ճիշտ այնպես, կարծես դա սովորական Linux հրաման կամ հավելված է, որը մենք տեղադրել ենք: Կափարիչի տակ այն աշխատում է իր սեփական վիրտուալ միջավայրում, և ցանկացած կախվածություն առանձնացված է և հեռու է պահվում մեր հիմնական օպերացիոն համակարգից:

Եթե Ձեզ անհրաժեշտ է միայն մեկ անգամ գործարկել հավելվածը, և դուք չեք ցանկանում անհանգստանալ տեղադրման և տեղահանման մասին, pipx-ն ունի գործարկման ռեժիմ, որը նույնպես լուծում է դա ձեզ համար:

pipx run speedtest-cli

Դուք կարող եք նաև արգումենտներ տրամադրել հավելվածի համար, որպեսզի կարողանաք գործարկել հատուկ հրամաններ: Ֆորմատավորման որոշ նախազգուշացումներ կան, այնպես որ համոզվեք, որ ստուգեք պաշտոնական pipx փաստաթղթերը:

Դուք կարող եք օգտագործել pipx՝ տեսնելու, թե որ տեղադրված Python հավելվածներն եք տեղադրել:

pipx list

Դուք կարող եք տեսնել, որ speedtest-cli տեղադրված չէ, բայց cowsay դեռ առկա է մեր համակարգում:

Կարող եք նաև հեշտությամբ հեռացնել Cowsay հավելվածը:

pipx uninstall cowsay

Այնտեղ, որտեղ pipx-ն իսկապես օգնում է, ավելի բարդ հավելվածների կառավարումն է: Որպես օրինակ՝ դուք կարող եք հեշտությամբ գրել bash-ի պարզ սկրիպտներ՝ գործարկելու և պահպանելու calibre-web հավելվածը՝ ձեր սեփական էլ. գրքերի գրադարանը հյուրընկալելու համար, քանի որ կարող եք այն վերաբերվել որպես հերթական հրամանի: Առանց pipx-ի, ծառայության ֆայլերը, որոնք դուք պետք է գրեք, շատ ավելի բարդ կլինեն նրանց համար, ովքեր չգիտեն Python-ը և դրա տեղակայման պրակտիկան:

Ընդարձակեք ձեր հավելվածների գրադարանը pipx-ով

Այժմ, երբ դուք տեղադրել եք pipx, ձեզ հասանելի են բազմաթիվ նոր ծրագրեր: Եթե GitHub-ում կամ PyPI-ում գտնում եք նախագծեր, որոնք ցանկանում եք օգտագործել, pipx-ը կարող է հեշտացնել դրանք տեղադրել և օգտագործել ընդամենը մեկ կամ երկու րոպեում: