Nedávno jsme publikovali průvodce pro začátečníky správa balíčků Python pomocí PIP . V této příručce jsme diskutovali o tom, jak nainstalovat pip a jak nainstalovat, aktualizovat a odinstalovat balíčky Pythonu pomocí pip. Diskutovali jsme také o důležitosti virtuálních prostředí a o tom, jak vytvořit virtuální prostředí pomocí nástrojů venv a virtualvnv. Dnes se seznámíme s dalším správcem balíčků pythonu s názvem pipenv . Je to nový doporučený nástroj Python Packaging od Python.org. Lze jej použít ke snadné instalaci a správě závislostí pythonu bez nutnosti vytvářet virtuální prostředí. Pipenv automaticky vytváří a spravuje virtuální prostředí pro vaše projekty. Také přidává/odebírá balíčky z vašeho Pipfile při instalaci/odinstalaci balíčků.
Proč Pipenv?
Pipenv řeší následující problémy v reálném čase:
- Už nemusíte vytvářet virtuální prostředí. Pipenv automaticky vytvoří virtualenv pro vaše projekty. Jednoduše řečeno, pip a virtualenv spolupracují.
- Správa souboru requirements.txt soubor může být problematický, takže Pipenv místo toho používá nadcházející Pipfile a Pipfile.lock, které jsou lepší pro základní případy použití.
- Je to bezpečné. Hashe se používají všude, vždy. Automaticky odhalit slabá místa zabezpečení.
- Prohlédněte si graf závislosti kdykoli.
- Zjednodušte pracovní postup vývoje načítáním souborů .env.
No, pojďme začít.
Nainstalujte Pipenv, oficiálně doporučený balicí nástroj Pythonu
Existuje mnoho způsobů, jak nainstalovat Pipenv. Uvidíme dvě oficiálně doporučené metody.
1. Instalace pipenv pomocí pip
Oficiálním doporučeným způsobem je použití pip . Ujistěte se, že máte nainstalovaný python a pip. Pokud ne, podívejte se na naši předchozí příručku, na kterou odkazuje první odstavec tohoto článku.
Jakmile je pip nainstalován, spusťte následující příkaz k instalaci pipenv.
$ pip install --user pipenv
Tento příkaz nainstaluje pipenv na uživatelské úrovni (tj. ne v celém systému). Pokud pipenv není po instalaci ve vašem prostředí k dispozici, možná budete muset přidat binární adresář uživatelské základny ke své CESTĚ. Pokud nevíte, jaká je vaše uživatelská základna, spusťte následující příkaz, abyste ji zjistili:
$ python -m site --user-base
Uvidíte výstup podobný níže.
/home/sk/.local
Jak můžete vidět na výše uvedeném výstupu, můj uživatelský základní adresář je /home/sk/.local a binární adresář mé základny je /home/sk/.local/bin . Průhledná? Dobrý. Nyní to přidejte do své PATH. Chcete-li tak učinit, upravte svůj ~/.profile soubor:
$ vi ~/.profile
Přidejte tento řádek na konec:
export PATH="$HOME/.local/bin:$PATH"
Stiskněte ESC a zadejte :wq pro uložení a ukončení souboru. Poté spusťte následující příkaz, aby se změny projevily.
$ source ~/.profile
Nakonec spusťte následující příkaz:
$ pipenv --update
Chcete-li upgradovat pipenv kdykoli, spusťte následující příkaz:
$ pip install --user --upgrade pipenv
2. Instalace pipenv pomocí pipsi
Pipsi je výkonný nástroj, který vám umožňuje instalovat skripty Pythonu do izolovaných virtuálních prostředí.
Chcete-li nainstalovat pipsi, spusťte:
$ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python
Postupujte podle pokynů na obrazovce, budete muset aktualizovat svou PATH.
Po instalaci pipsi spusťte následující příkazy pro instalaci pipenv:
$ pipsi install pew $ pipsi install pipenv
Nakonec spusťte následující příkaz:
$ pipenv --update
Chcete-li upgradovat pipenv kdykoli, stačí spustit:
$ pipsi upgrade pipenv
Spravujte balíčky Pythonu pomocí Pipenv
Spusťte 'pipenv' ve vašem shellu pro zobrazení seznamu dostupných příkazů a obecných možností.
$ pipenv
Ukázkový výstup by byl:
Instalace balíčků
Vytvořte nový projekt nebo přejděte do adresáře existujícího projektu.
$ mkdir myproject $ cd myproject
Nainstalujte balíčky pro váš projekt:
$ pipenv install requests
Když ls do adresáře vašeho projektu (v tomto případě myproject), uvidíte dva soubory, konkrétně Pipfile a Pipfile.lock . Pipfile obsahuje informace o nově nainstalovaném balíčku, jako je název, verze atd. Pomocí tohoto Pipffile můžete sledovat, jaké závislosti váš projekt potřebuje, když chcete projekt přeinstalovat nebo sdílet s ostatními.
$ cat Pipfile
A Pipfile.lock obsahuje vaše systémové informace, všechny závislosti nainstalovaného balíčku včetně jejich verze a všechny hashe pro všechny nainstalované balíčky a jejich závislosti.
$ cat Pipfile.lock
Nyní nainstalujte další balíček a znovu zkontrolujte obsah dvou souborů. Všimnete si, že Pidfile nyní obsahuje dva balíčky. A Pidfile.lock obsahuje všechny závislosti nainstalovaných balíčků včetně jejich verze a všechny hashe pro všechny nainstalované balíčky a jejich závislosti. Jednoduše řečeno, tyto dva soubory se automaticky aktualizují při každé instalaci nového balíčku.
Všiml sis? Nevytvořil jsem žádné virtuální prostředí. Pipenv automaticky vytvořil virtuální prostředí pro můj projekt. Zajímá vás, kde jsou vaše projekty uloženy? Stačí spustit tento příkaz a zjistit umístění vašeho virtuálního prostředí.
$ pipenv --venv /home/sk/.local/share/virtualenvs/myproject-x7-2XYPN
Chcete-li zobrazit podrobnosti o domovské stránce projektu, spusťte:
$ pipenv --where /home/sk/myproject
Jak můžete v obou výstupech, "/home/sk/myproject" je domovský adresář mého projektu a "/home/sk/.local/share/virtualenvs/myproject-x7-2XYPN" je moje virtuální prostředí.
Můžete "ls" do svého virtuálního prostředí a zkontrolovat, co tam je.
$ ls /home/sk/.local/share/virtualenvs/myproject-x7-2XYPN
Aktualizovat balíčky
Chcete-li aktualizovat všechny balíčky, spusťte:
$ pipenv update
Tento příkaz odinstaluje všechny balíčky a znovu nainstaluje balíčky na nejnovější kompatibilní verze.
Kontrola integrity balíčku
Máte obavy, zda jsou v nainstalovaných balíčcích nějaké bezpečnostní chyby? Žádný problém! Pipenv tě dostal za záda. Chcete-li zkontrolovat integritu balíčků, stačí spustit následující příkaz:
$ pipenv check Checking PEP 508 requirements… Passed! Checking installed package safety… All good!
Výše uvedený příkaz kontroluje zranitelnosti zabezpečení a proti značkám PEP 508 poskytnutým v Pipfile.
Zobrazit graf závislosti
Spusťte 'pipenv graph' a uvidíme, co se stane.
$ pipenv graph
Jak můžete vidět, tento příkaz zobrazí graf závislosti.
Odinstalujte balíček
Chcete-li odebrat balíček, spusťte:
$ pipenv uninstall requests Un-installing speedtest-cli… Uninstalling speedtest-cli-1.0.7: Successfully uninstalled speedtest-cli-1.0.7 Removing speedtest-cli from Pipfile… Locking [dev-packages] dependencies… Locking [packages] dependencies… Updated Pipfile.lock (c23e27)!
Chcete-li vše odinstalovat, spusťte:
$ pipenv uninstall --all Un-installing all packages from virtualenv… Found 1 installed package(s), purging… Environment now purged and fresh!
Pro více podrobností spusťte:
$ pipenv -h
Nebo,
$ pipenv --man
Pokud jsem testoval Pipenv, je mnohem jednodušší používat než pip. Protože je to oficiálně doporučeno Python.org, můžete se nyní při instalaci balíčků Python zbavit venv a virtualenv úplně.
Doporučené čtení:
- Pipx – Instalace a spouštění aplikací Pythonu v izolovaných prostředích