Jste programátor, který chce otestovat svůj python kód na více různých prostředích Pythonu. Co bys dělal? Nainstalovat konkrétní verzi pythonu a otestovat svůj kód a poté tuto verzi odinstalovat a znovu nainstalovat jinou jinou verzi a testovací kód? Ne, počkej! Není to zbytečné. Seznamte se s Pyenv , nástroj příkazového řádku pro správu více verzí Pythonu současně. Usnadnilo to správu verzí pythonu než kdy předtím. Používá se k instalaci, odinstalaci a přechodu na několik různých verzí Pythonu.
Pyenv vám umožňuje měnit globální verzi Pythonu na základě jednotlivých uživatelů, poskytovat podporu pro verze Pythonu pro jednotlivé projekty, přepisovat verzi Pythonu proměnnou prostředí a vyhledávat příkazy z více verzí Pythonu najednou. Pyenv lze použít k testování kódu ve více prostředích pythonu. V tomto tutoriálu si ukážeme, jak nainstalovat a používat Pyenv na GNU/Linux.
Nainstalujte Pyenv v systému Linux
Nejprve nainstalujte následující balíčky, abyste se vyhnuli běžným problémům se sestavováním.
Pro systémy založené na Debianu:
$ sudo apt-get install -y make build-essential git libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils> tk-devPro systémy založené na RPM:
$ sudo yum install zlib-devel bzip2 bzip2-devel git readline-devel sqlite sqlite-devel openssl-devel xz xz-develPro SUSE/openSUSE:
$ sudo zypper v zlib-devel bzip2 libbz2-devel git readline-devel sqlite3 sqlite3-devel libopenssl-devel xz xz-develPrávě jsme nainstalovali potřebné předpoklady. Je čas nainstalovat Pyenv. Oficiálním a doporučeným způsobem instalace Pyenv je použití skriptu pyenv-installer. Vše, co musíte udělat, je spustit ve vašem prostředí následující příkaz a nainstalovat pyenv.
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bashNa konci instalace vás instalační program upozorní, abyste přidali Pyenv do vaší PATH. V mém případě jsem do ~/.bash_profile přidal následující řádky soubor.
export PATH="/home/ostechnix/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"Spusťte níže uvedený příkaz, aby se změny projevily.
$ source ~/.bash_profilePyenv je připraven k použití. Nyní se podívejme, jak spravovat různé verze Pythonu pomocí Pyenv.
Správa více verzí Pythonu pomocí Pyenv v systému Linux
Nejprve se podívejme na všechny dostupné verze. Chcete-li tak učinit, jednoduše spusťte následující příkaz:
$ pyenv install -lNebo,
$ pyenv install --listMěli byste mít výstup něco jako níže.
Dostupné verze:2.1.3 2.2.3 2.3.7 2.4 2.4.1 . . . 3.6.2 3.6.3 3.6.4 3.7.0b1 3.7-dev 3.8-dev[...]Seznam aktuálně nainstalovaných verzí Pythonu:
systém $ pyenv version* (nastavený /home/ostechnix/.pyenv/version)Ve výchozím nastavení používá Pyenv náš výchozí systémový python. Zde * označuje výchozí.
Nainstalujte Python
Řekněme, že na svém systému potřebujete Python verze 2.7.14 a 3.6.4.
Chcete-li to provést, stačí spustit:
Instalace $ pyenv 2.7.14Chcete-li nainstalovat Python 3.6.4, spusťte:
Instalace $ pyenv 3.6.4Nepotřebujete práva sudo. Všechny verze Pythonu budou nainstalovány do samostatného adresáře v kořenovém adresáři pyenv ve vašem $HOME. Výchozí kořenový adresář pyenv je ~/.pyenv . Například Python 2.7.14 je nainstalován pod /home/ostechnix/.pyenv/versions/2.7.14 v mém případě.
$ ls /home/ostechnix/.pyenv/versions/2.7.14 3.6.4Nyní vypište nainstalované verze Pythonu.
systém $ pyenv version* (nastavený /home/ostechnix/.pyenv/version) 2.7.14 3.6.4Přepínání mezi různými verzemi Pythonu
Na jiný python můžeme přejít dvěma způsoby, globálně a lokálně.
Podívejme se na aktuální globální verzi pythonu pomocí příkazu:
$ pyenv globalsystemNejsou žádné. Můj systém stále používá výchozí systémový python. Pojďme přejít na jinou verzi Pythonu, například 2.7.14 .
$ pyenv global 2.7.14Nyní zkontrolujte výchozí verzi Pythonu:
$ systém verzí pyenv* 2.7.14 (nastaveno /home/ostechnix/.pyenv/version) 3.6.4Všimli jste si hvězdičky(*)? Ano, 2.7.14 je naše globální výchozí verze Pythonu.
Můžete také zadat více verzí jako globální Python najednou. Řekněme, že máte dvě verze 2.7.14 a 3.6.4. Pokud dáváte přednost 2.7.14 před 3.6.4, stačí spustit:
$ pyenv global 2.7.14 3.6.4Nyní zkontrolujte globální verze.
$ verze pyenv system* 2.7.14 (nastaveno /home/ostechnix/.pyenv/version)* 3.6.4 (nastaveno /home/ostechnix/.pyenv/version)Nyní jsou výchozí globální verze 2.7.14 a 3.6.4.
Můžeme nastavit verzi Pythonu specifickou pro místní aplikaci (pro projekt) napsáním názvu verze na .python-version soubor v aktuálním adresáři. Upozorňujeme, že lokální verze přepíše globální verzi a může být přepsána sama nastavením proměnné prostředí PYENV_VERSION nebo pomocí příkazu pyenv shell.
Přepněte se do adresáře projektu:
$ cd myproject/Přejděme na 3.6.4.
$ pyenv local 3.6.4Zkontrolujte aktuální místní verzi pythonu.
$ verze pyenv system 2.7.14* 3.6.4 (nastaveno /home/ostechnix/myproject/.python-version)Nastavení virtuálního prostředí
Chcete-li nastavit virtuální prostředí s konkrétní verzí Pythonu, postupujte takto:
$ pyenv virtualenv 3.6.4 myenv
Chcete-li jej zpřístupnit globálně, spusťte:
$ pyenv globální myenv(myenv) [chráněno e-mailem]:~$Nyní jste ve svém virtuálním prostředí. Dělej si co chceš. Nainstalujte, odeberte pythonové aplikace pomocí pip a co ne. Vše je vaše.
Pokud chcete nastavit místní virtuální prostředí (podle adresáře):
CD do adresáře vašeho projektu a spusťte:
$ pyenv local mylocalenvChcete-li odebrat virtuální prostředí, postupujte takto:
$ pyenv odinstalovat myenvpyenv-virtualenv:odstranit /home/ostechnix/.pyenv/versions/3.6.4/envs/myenv? yOdstranění konkrétní verze pythonu
Chcete-li odinstalovat konkrétní verzi pythonu, například 3.6.4:
Odinstalace $ pyenv 3.6.4Případně jednoduše odstraňte adresář verze, kterou chcete odebrat.
Zkontrolujte aktuálně nainstalované verze pythonu:
verze $ pyenvDalší podrobnosti naleznete v části nápovědy spuštěním následujícího příkazu:
$ pyenvZkontrolujte také "pyenv help
" pro informace o konkrétním příkazu. Můžete například zobrazit informace o příkazu "install" níže. Nápověda k instalaci $ pyenvA to je vše. Jak můžete vidět, správa více verzí Pythonu je docela snadná! Pokud jste programátorem Pythonu, Pyenv je základním nástrojem, který byste měli mít ve svém arzenálu.
Související čtení:
- SDKMAN – nástroj CLI pro snadnou správu více sad pro vývoj softwaru
- Jak spravovat více verzí Java pomocí jEnv v systému Linux