GNU/Linux >> Znalost Linux >  >> Linux

Jak spravovat více verzí Pythonu pomocí Pyenv v systému Linux

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-dev 

Pro systémy založené na RPM:

$ sudo yum install zlib-devel bzip2 bzip2-devel git readline-devel sqlite sqlite-devel openssl-devel xz xz-devel

Pro SUSE/openSUSE:

$ sudo zypper v zlib-devel bzip2 libbz2-devel git readline-devel sqlite3 sqlite3-devel libopenssl-devel xz xz-devel

Prá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 | bash

Na 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_profile

Pyenv 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 -l

Nebo,

$ pyenv install --list

Mě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.14

Chcete-li nainstalovat Python 3.6.4, spusťte:

Instalace $ pyenv 3.6.4

Nepotř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.4

Nyní vypište nainstalované verze Pythonu.

systém $ pyenv version* (nastavený /home/ostechnix/.pyenv/version) 2.7.14 3.6.4

Př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 globalsystem

Nejsou žá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.14

Nyní zkontrolujte výchozí verzi Pythonu:

$ systém verzí pyenv* 2.7.14 (nastaveno /home/ostechnix/.pyenv/version) 3.6.4

Vš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.4

Nyní 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.4

Zkontrolujte 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 mylocalenv

Chcete-li odebrat virtuální prostředí, postupujte takto:

$ pyenv odinstalovat myenvpyenv-virtualenv:odstranit /home/ostechnix/.pyenv/versions/3.6.4/envs/myenv? y

Odstranění konkrétní verze pythonu

Chcete-li odinstalovat konkrétní verzi pythonu, například 3.6.4:

Odinstalace $ pyenv 3.6.4

Případně jednoduše odstraňte adresář verze, kterou chcete odebrat.

Zkontrolujte aktuálně nainstalované verze pythonu:

verze $ pyenv

Další podrobnosti naleznete v části nápovědy spuštěním následujícího příkazu:

$ pyenv

Zkontrolujte 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 $ pyenv

A 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

Linux
  1. Jak spravovat možnosti souborů Linux

  2. Jak nainstalovat a spravovat verze Java na Rocky Linux 8

  3. Jak spustit více verzí PHP s Nginx na Ubuntu?

  1. Jak pracovat s více verzemi Java pod Linuxem

  2. Jak používat export s Pythonem na Linuxu

  3. Jak spravovat linuxové pracovní stanice pomocí zásad

  1. Jak spravovat služby Systemd pomocí Systemctl v systému Linux

  2. Jak spravovat verze NodeJS s n v Ubuntu 20.04

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