GNU/Linux >> Znalost Linux >  >> Linux

Pipenv – Oficiálně doporučený balicí nástroj Pythonu

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

Linux
  1. Jak nainstalovat Python na Linux

  2. Instalace PIP nástroje pro balení Pythonu na RHEL 7 Linux

  3. Jak nainstalovat Python na Linux Mint 20

  1. Jak nainstalovat R 3.3.1 do vlastního adresáře?

  2. Jak nainstalovat distribuci Anaconda Python na Ubuntu 16.04

  3. Nainstalujte python-novaclient na Windows

  1. Jak nainstalovat PhantomJS pro použití s ​​Python Selenium na Raspberry Pi?

  2. Je nástroj příkazového řádku pdftotext pro Mac?

  3. Doporučený způsob instalace více verzí Pythonu na Ubuntu 20.04