Ինչու՞ պետք է տեղադրել 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-ը կարող է հեշտացնել դրանք տեղադրել և օգտագործել ընդամենը մեկ կամ երկու րոպեում: