Pyenv - Settu upp margar Python útgáfur fyrir tiltekið verkefni


Að stjórna mörgum útgáfum af Python á Linux kerfi er ekki auðvelt verkefni, sérstaklega fyrir byrjendur. Stundum versnar það jafnvel þegar þú vilt þróa og keyra mörg verkefni með mismunandi Python útgáfum á sama netþjóni. Hins vegar ætti þetta ekki að vera raunin ef þú notar pyenv.

Pyenv er einfalt, öflugt og þvert á vettvang tól til að stjórna mörgum Python útgáfum á Linux kerfum, sem notað var fyrir.

  • Að skipta um alþjóðlegu Python útgáfuna fyrir hvern notanda.
  • stilla staðbundna Python útgáfuna á grundvelli verkefnis.
  • Stjórnun sýndarumhverfis sem er búið til af anaconda eða virtualenv.
  • Hneka Python útgáfunni með umhverfisbreytu.
  • Leitarskipanir úr mörgum útgáfum af Python og fleira.

Venjulega er ein sjálfgefna útgáfa af Python notuð til að keyra öll forritin þín, nema þú tilgreinir sérstaklega hvaða útgáfu þú vilt nota í forritinu. En pyenv útfærir einfalda hugmynd um að nota shims (léttar keyrslur) til að senda skipunina þína í rétta Python útgáfu sem þú vilt nota, þegar þú ert með margar útgáfur uppsettar.

Þessar shims eru settar inn af pyenv í möppur fyrir framan PATH þinn. Svo þegar þú keyrir Python skipun er hún stöðvuð af viðeigandi shim og send til pyenv, sem síðan kemur á Python útgáfunni sem hefur verið tilgreind af forritinu þínu og sendir skipanirnar þínar áfram til réttrar Python uppsetningar. Þetta er yfirlit yfir hvernig pyenv starfar.

Í þessari grein munum við sýna hvernig á að setja upp nýjustu útgáfuna af pyenv í Linux. Við munum einnig sýna fyrstu þrjú notkunartilvikin sem talin eru upp hér að ofan.

Hvernig á að setja upp Pyenv í Linux

1. Settu fyrst upp alla nauðsynlega pakka til að setja upp mismunandi Python útgáfur frá heimildum með því að nota eftirfarandi skipun á viðkomandi Linux dreifingu.

------------ On Debian/Ubuntu/Linux Mint ------------ 
$ sudo apt install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev

------------ On CentOS/RHEL ------------
# yum -y install epel-release
# yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

------------ On Fedora 22+ ------------
# yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

2. Næst skaltu grípa nýjasta pyenv upprunatréð úr Github geymslunni og setja það upp í $HOME/.pyenv slóð með eftirfarandi skipun.

$ git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv

3. Nú þarftu að stilla umhverfisbreytuna PYENV_ROOT til að benda á slóðina þar sem þú settir upp pyenv og flytja hana út. Bættu síðan $PYENV_ROOT/bin við PATH þinn til að keyra pyenv skipanalínuforritið eins og allar aðrar kerfisskipanir.

Þú þarft líka að virkja shims sem og sjálfvirka útfyllingu með því að bæta pyenv init við skelina þína. Gerðu alla þessa hluti í $HOME/.bashrc bash ræsiskránni þinni, eins og sýnt er.

$ vim $HOME/.bashrc 

Afritaðu og límdu eftirfarandi línur í lok þessarar skráar.

## pyenv configs
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

4. Þegar þú hefur gert ofangreindar breytingar geturðu annað hvort fengið $HOME/.bashrc skrána eða endurræst skelina eins og sýnt er.

$ source $HOME/.bashrc
OR
$ exec "$SHELL"

Hvernig á að setja upp margar Python útgáfur í Linux

5. Á þessum tímapunkti ættir þú að vera tilbúinn til að byrja að nota pyenv. Áður en þú setur upp einhverja Python útgáfu geturðu skoðað allar tiltækar útgáfur með þessari skipun.

$ pyenv install -l

6. Þú getur nú sett upp margar Python útgáfur í gegnum pyenv, til dæmis.

$ pyenv install 3.6.4
$ pyenv install 3.6.5

7. Til að skrá allar Python útgáfur sem eru tiltækar fyrir pyenv skaltu keyra eftirfarandi skipun. Þetta mun aðeins sýna útgáfur sem eru settar upp í gegnum pyenv sjálft.

$ pyenv versions

8. Þú getur athugað alþjóðlegu Python útgáfuna með eftirfarandi skipun, á þessum tíma ætti sjálfgefna útgáfan að vera sú sem kerfið setur, ekki pyenv.

$ pyenv global

Þú getur stillt alþjóðlegu python útgáfuna með því að nota pyenv skipunina.

$ pyenv global 3.6.5
$ pyenv global

9. Þú getur nú stillt staðbundna Python útgáfuna fyrir hvert verkefni, til dæmis, ef þú ert með verkefni staðsett í $HOME/python_projects/test, geturðu stillt Python útgáfuna af því með eftirfarandi skipun.

$ cd python_projects/test
$ pyenv local 3.6.5
$ pyenv version		#view local python version for a specific project 
OR
$ pyenv versions

10. Pyenv heldur utan um sýndarumhverfi í gegnum pyenv-virtualenv viðbótina sem gerir sjálfvirkan stjórnun á virtualenvs og conda umhverfi fyrir Python á Linux og öðrum UNIX-líkum kerfum.

Þú getur byrjað á því að setja upp þessa viðbót með eftirfarandi skipunum.

$ git clone https://github.com/yyuu/pyenv-virtualenv.git   $HOME/.pyenv/plugins/pyenv-virtualenv
$ source $HOME/.bashrc

11. Nú munum við búa til sýndarumhverfi til prófunar sem kallast venv_project1 undir verkefni sem kallast project1 sem hér segir.

$ cd python_projects
$ mkdir project1
$ cd project1
$ pyenv virtualenv 3.6.5 venv_project1

12. Nú þegar þú skráir allar Python útgáfur, ætti sýndarumhverfið þitt sem og staðbundnar python útgáfur þeirra einnig að vera skráð, eins og sýnt er á skjámyndinni.

$ pyenv versions

13. Til að virkja sýndarmynd, til dæmis venv_project1, sláðu inn eftirfarandi skipun.

$ pyenv activate venv_project1

Athugið: Þú gætir fengið skilaboðin hér að neðan þegar þú notar nýjustu útgáfuna af pyenv-virtualenv viðbótinni í fyrsta skipti.

pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

Bættu við línuútflutningnum PYENV_VIRTUALENV_DISABLE_PROMPT=1 í $HOME/.bashrc skrána þína, þar sem þú bættir við öðrum pyenv stillingum, og fáðu skrána til að líkja eftir hegðuninni sem lögð er áhersla á.

14. Til að slökkva á virkjaðri virtualenv skaltu keyra þessa skipun.

$ pyenv deactivate

Fyrir frekari upplýsingar geturðu skráð allar pyenv skipanir með eftirfarandi skipun.

$ pyenv commands

Fyrir frekari upplýsingar, farðu í pyenv Github geymsluna: https://github.com/pyenv/pyenv

Að nota pyenv er í raun svo einfalt. Í þessari handbók sýndum við hvernig á að setja það upp, sem og sýndum nokkur notkunartilvik þess til að stjórna mörgum python útgáfum á Linux kerfi. Notaðu athugasemdareyðublaðið hér að neðan til að spyrja spurninga eða deila hugsunum þínum um þetta tól.