Pyenv - Sakinisha Matoleo mengi ya Python kwa Mradi Maalum


Kusimamia matoleo mengi ya Python kwenye mfumo wa Linux sio kazi rahisi, haswa kwa Kompyuta. Wakati mwingine inakuwa mbaya zaidi unapotaka kukuza na kuendesha miradi mingi na matoleo tofauti ya Python kwenye seva moja. Walakini, hii haifai kuwa hivyo ikiwa unaajiri pyenv.

Pyenv ni zana rahisi, yenye nguvu na ya jukwaa la kusimamia matoleo mengi ya Python kwenye mifumo ya Linux, ambayo hutumiwa.

  • Kubadilisha toleo la Python la kimataifa kwa misingi ya kila mtumiaji.
  • kuweka toleo la ndani la Python kwa msingi wa kila mradi.
  • Udhibiti wa mazingira pepe yaliyoundwa na anaconda au virtualenv.
  • Kubatilisha toleo la Python kwa utofauti wa mazingira.
  • Kutafuta amri kutoka kwa matoleo mengi ya Python na zaidi.

Kawaida, toleo moja chaguo-msingi la Python hutumiwa kuendesha programu zako zote, isipokuwa utabainisha wazi toleo unalotaka kutumia ndani ya programu. Lakini pyenv inatekelezea wazo rahisi la kutumia shims (vitekelezo vyepesi) kupitisha amri yako kwa toleo sahihi la Python unalotaka kutumia, ukiwa na matoleo mengi yaliyosanikishwa.

Shimu hizi zimeingizwa na pyenv kwenye saraka mbele ya PATH yako. Kwa hivyo unapoendesha amri ya Python, inazuiliwa na shim inayofaa na kupitishwa kwa pyenv, ambayo huanzisha toleo la Python ambalo limeainishwa na programu yako, na kupitisha amri zako kwa usakinishaji halali wa Python. Huu ni muhtasari wa jinsi pyenv inavyofanya kazi.

Katika makala hii, tutaonyesha jinsi ya kufunga toleo la hivi karibuni la pyenv katika Linux. Pia tutaonyesha kesi tatu za kwanza za matumizi zilizoorodheshwa hapo juu.

Jinsi ya kufunga Pyenv kwenye Linux

1. Sakinisha kwanza vifurushi vyote vinavyohitajika kwa kusakinisha matoleo tofauti ya Python kutoka kwa vyanzo kwa kutumia amri ifuatayo kwenye usambazaji wako wa Linux.

------------ 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. Kisha, shika mti wa hivi punde zaidi wa chanzo cha pyenv kutoka hazina yake ya Github na uusakinishe katika $HOME/.pyenv njia ukitumia amri ifuatayo.

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

3. Sasa unahitaji kuweka utofauti wa mazingira PYENV_ROOT ili kuelekeza kwenye njia ambayo ulisakinisha pyenv na kuisafirisha. Kisha ongeza $PYENV_ROOT/bin kwa PATH yako ili kuendesha matumizi ya safu ya amri ya pyenv kama amri zingine zozote za mfumo.

Unahitaji pia kuwezesha shim na kukamilisha kiotomatiki kwa kuongeza pyenv init kwenye ganda lako. Fanya mambo haya yote katika faili yako ya kuanzia ya $HOME/.bashrc bash, kama inavyoonyeshwa.

$ vim $HOME/.bashrc 

Nakili na ubandike mistari ifuatayo mwishoni mwa faili hii.

## 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. Mara tu umefanya mabadiliko yaliyo hapo juu, unaweza kupata faili ya $HOME/.bashrc au kuanzisha upya ganda kama inavyoonyeshwa.

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

Jinsi ya Kufunga Matoleo mengi ya Python kwenye Linux

5. Katika hatua hii, unapaswa kuwa tayari kuanza kutumia pyenv. Kabla ya kusakinisha toleo lolote la Python, unaweza kutazama matoleo yote yanayopatikana na amri hii.

$ pyenv install -l

6. Sasa unaweza kusakinisha toleo la Python nyingi kupitia pyenv, kwa mfano.

$ pyenv install 3.6.4
$ pyenv install 3.6.5

7. Kuorodhesha matoleo yote ya Python yanayopatikana kwa pyenv, endesha amri ifuatayo. Hii itaonyesha tu matoleo yaliyosanikishwa kupitia pyenv yenyewe.

$ pyenv versions

8. Unaweza kuangalia toleo la Python la kimataifa kwa amri ifuatayo, kwa wakati huu, toleo la kawaida linapaswa kuwa moja iliyowekwa na mfumo, sio pyenv.

$ pyenv global

Unaweza kuweka toleo la kimataifa la python kwa kutumia amri ya pyenv.

$ pyenv global 3.6.5
$ pyenv global

9. Sasa unaweza kuweka toleo la ndani la Python kwa msingi wa kila mradi, kwa mfano, ikiwa una mradi ulio katika $HOME/python_projects/test, unaweza kuweka toleo lake la Python kwa kutumia amri ifuatayo.

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

10. Pyenv inadhibiti mazingira pepe kupitia programu-jalizi ya pyenv-virtualenv ambayo huendesha kiotomatiki usimamizi wa virtualenvs na mazingira ya konda kwa Python kwenye Linux na mifumo mingine kama UNIX.

Unaweza kuanza kwa kusakinisha programu-jalizi hii kwa kutumia amri zifuatazo.

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

11. Sasa tutaunda mazingira pepe ya majaribio yanayoitwa venv_project1 chini ya mradi unaoitwa project1 kama ifuatavyo.

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

12. Sasa unapoorodhesha matoleo yote ya Chatu, mazingira yako pepe pamoja na matoleo yao ya karibu ya chatu yanapaswa kuorodheshwa pia, kama inavyoonyeshwa kwenye picha ya skrini.

$ pyenv versions

13. Ili kuamilisha virtualenv, kwa mfano venv_project1, chapa amri ifuatayo.

$ pyenv activate venv_project1

Kumbuka: Unaweza kupata ujumbe hapa chini ukitumia toleo jipya zaidi la programu-jalizi ya pyenv-virtualenv kwa mara ya kwanza.

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

Ongeza laini ya kuuza nje PYENV_VIRTUALENV_DISABLE_PROMPT=1 katika faili yako ya $HOME/.bashrc, ambapo uliongeza usanidi mwingine wa pyenv, na chanzo cha faili kuiga tabia inayosisitizwa.

14. Ili kulemaza virtualenv iliyoamilishwa, endesha amri hii.

$ pyenv deactivate

Kwa habari zaidi, unaweza kuorodhesha amri zote za pyenv kwa kutumia amri ifuatayo.

$ pyenv commands

Kwa habari zaidi, nenda kwa hazina ya pyenv Github: https://github.com/pyenv/pyenv

Kutumia pyenv ni rahisi sana. Katika mwongozo huu, tulionyesha jinsi ya kuisakinisha, na pia kuonyesha baadhi ya kesi zake za utumiaji kwa kusimamia matoleo mengi ya chatu kwenye mfumo wa Linux. Tumia fomu ya maoni iliyo hapa chini kuuliza maswali yoyote au kushiriki mawazo yako kuhusu zana hii.