Prečo by ste mali inštalovať aplikácie Python pomocou pipx (a ako začať)
Kľúčové poznatky
- Inštalácia aplikácií Python môže byť náročná z dôvodu potenciálnych konfliktov so systémovými balíkmi, ale pipx to uľahčuje vytváraním virtuálnych prostredí a spravovaním závislostí za vás.
- Pipx je užívateľsky prívetivá alternatíva k pip, ktorá inštaluje aplikácie v celom systéme bez toho, aby vyžadovala oprávnenia sudo, a pomáha vám pridávať, inovovať alebo odstraňovať aplikácie Python bez námahy.
- Pomocou pipx môžete inštalovať aplikácie Python CLI, spúšťať ich rovnako ako štandardné príkazy Linuxu a dokonca ich ľahko odinštalovať. Je to pohodlný nástroj na správu a rozširovanie knižnice aplikácií.
Existuje množstvo užitočných aplikácií Python CLI, ale inštalácia nie je vždy taká jednoduchá, ako sa zdá. Poďme sa pozrieť na to, ako môže pipx uľahčiť ich inštaláciu a správu.
Prečo sú aplikácie Python zložité
Inštalácia aplikácií Python sa môže veľmi rýchlo rozmaznať. Python je všestranný jazyk a často sa ho učia prví ľudia. Prehliadaním GitHubu alebo PyPI – indexu balíkov Python – môžete popri programovacích knižniciach nájsť množstvo užitočných aplikácií. Keďže sa to stalo tak všadeprítomným, existuje veľa ľudí, ktorí prispievajú kódom spolu so zmesou pokynov na ich inštaláciu.
Väčšina inštalačných pokynov vám povie, aby ste nainštalovali pomocou pip, správcu balíkov pre python. V porovnaní s apt a yum pre Linux používa PyPI ako svoje úložisko a umožňuje vám inštalovať knižnice pre váš kód, ako aj kompletné aplikácie napísané v Pythone. Inštalácia softvéru cez inštanciu pip, ktorá je vo vašom systéme, však môže spôsobiť konflikty s balíkmi, ktoré už vlastní a spravuje váš bežný správca balíkov. Väčšina distribúcií Linuxu v súčasnosti využíva a závisí od pythonu a súvisiacich balíkov na spustenie funkcií operačného systému a ďalší základný softvér sa často spolieha na špecifické verzie určitých knižníc.
Dôrazne neodporúčam inštaláciu softvéru na systémovej úrovni pomocou inštalácie sudo pip, pretože to môže spôsobiť konflikty so správcom balíkov vášho systému a viesť k narušeniu funkčnosti alebo v najhoršom prípade k nespusteniu systému. Nie som v tom sám, pretože to odporúča RealPython a dokumentácia virtualenv a dokonca aj oficiálna dokumentácia Python tento problém uvádza.
Ďalšou možnosťou je inštalácia na úrovni používateľa pomocou pip install --user, ale nie každý balík takto funguje bezchybne. Pre daného používateľa sú stále nainštalované závislosti v celom systéme, čo môže stále spôsobovať problémy.
Komunita Pythonu odporúča používať niečo, čo sa nazýva virtuálne prostredie – často označované ako venvs – na vytváranie izolovaných priečinkov, ktoré obsahujú všetky požadované časti projektu, ale ich používanie, keď nie ste oboznámení s procesom, môže byť veľmi frustrujúce. najmä ak sa pokúšate veci napísať. Toto sú len niektoré z výziev, ktorým môžu používatelia čeliť, aby aplikácie Python fungovali vo svojom systéme.
pipx na záchranu
Na vyriešenie našich problémov môžeme použiť aplikáciu s názvom pipx. Toto je užívateľsky príjemná alternatíva k pipu, ktorá je zameraná na koncových používateľov namiesto programátorov. Vytvorí pre vás virtuálne prostredia, nainštaluje závislosti a sprístupní programy v celom systéme – a to všetko bez toho, aby sa vo vašom systéme vyžadovali privilégiá sudo. Tiež za vás spravuje vaše nainštalované aplikácie python, vďaka čomu ich môžete jednoducho pridávať, inovovať alebo odstraňovať, ako uznáte za vhodné.
Keďže pipx nie je určený pre programátorov, nepodporuje niektoré kritické funkcie, ktoré by ste chceli pri vývoji, ako je inštalácia upraviteľných balíčkov na testovanie. Toto je výlučne pre používateľov!
Ak chcete nainštalovať pipx, najjednoduchším spôsobom je použiť správcu balíkov vášho systému. Najprv sa uistite, že sú nainštalované požadované balíky. Ak používate distribúciu založenú na Debiane, ako je Ubuntu, môžete použiť apt.
sudo apt update && sudo apt install python3-venv python3-pip
Týmto sa nainštalujú základné balíky pre virtuálne prostredia a správca balíkov pip. Mnohé distribúcie Linuxu budú mať tieto predinštalované, ale nie všetky. Dôležité je, že verzie Debianu a Ubuntu nezaručujú, že tieto balíčky budú predinštalované, takže ak používate tieto distribúcie, mali by ste spustiť vyššie uvedené príkazy. Ak používate inú distribúciu, použite príslušného správcu balíkov, či už je to yum, pacman alebo dokonca brew.
Ďalej môžeme nainštalovať samotný balík pipx.
sudo apt install pipx
Nakoniec sa chceme uistiť, že pipx je pripojený k našej ceste, takže nainštalované aplikácie sa spúšťajú rovnakým spôsobom ako všetky ostatné. Potrebujeme len spustiť tento príkaz pipx:
pipx ensurepath
Všimnite si, že pre tento príkaz neexistuje sudo! Všetko bude fungovať v užívateľskom priestore, čo je presne to, čo chceme, aby sme sa vyhli problémom s inštaláciou Pythonu nášho operačného systému.
V niektorých distribúciách, ako je Ubuntu, môžete dostať správu, ktorá vám povie, že sa možno budete musieť znova prihlásiť, aby sa zmena cesty prejavila. Na Rhino Linuxe veci fungovali okamžite, ale na Ubuntu som sa musel odhlásiť a znova prihlásiť.
A je to, pipx je pripravený! Poďme sa pozrieť na to, ako ho používať s niektorými aplikáciami Pythonu.
Inštalácia aplikácií Python CLI
Nainštalujte si zábavnú aplikáciu s názvom cowsay pomocou pipx.
pipx install cowsay
Aplikáciu Python môžete používať rovnako, ako keby to bol štandardný príkaz Linuxu alebo aplikácia, ktorú sme nainštalovali. Pod kapotou beží vo svojom vlastnom virtuálnom prostredí a všetky závislosti sú oddelené a udržiavané mimo nášho základného operačného systému.
Ak potrebujete spustiť aplikáciu len raz a nechcete sa starať o inštaláciu a odinštalovanie, pipx má režim spustenia, ktorý to zvládne za vás.
pipx run speedtest-cli
Môžete tiež poskytnúť argumenty pre aplikáciu, aby ste mohli spúšťať konkrétne príkazy. Existuje niekoľko upozornení na formátovanie, takže si nezabudnite pozrieť oficiálnu dokumentáciu pipx.
Pomocou pipx môžete zistiť, ktoré nainštalované aplikácie Pythonu ste nainštalovali.
pipx list
Môžete vidieť, že speedtest-cli nie je nainštalovaný, ale cowsay je v našom systéme stále prítomný.
Aplikáciu cowsay môžete tiež ľahko odinštalovať.
pipx uninstall cowsay
Pipx skutočne pomáha pri správe zložitejších aplikácií. Napríklad môžete jednoducho napísať jednoduché bash skripty na spustenie a údržbu webovej aplikácie calibre na hosťovanie vlastnej knižnice elektronických kníh, pretože ju môžete považovať len za ďalší príkaz. Bez pipx by súbory služieb, ktoré potrebujete napísať, boli oveľa zložitejšie pre niekoho, kto nepozná Python a jeho praktiky nasadenia.
Rozšírte svoju knižnicu aplikácií pomocou pipx
Teraz, keď máte nainštalovaný pipx, máte k dispozícii množstvo nových programov! Ak nájdete projekty na GitHub alebo PyPI, ktoré chcete použiť, pipx môže zjednodušiť ich inštaláciu a používanie za minútu alebo dve.