Pyenv - Sanya Siffofin Python da yawa don Takamammen Ayyuka


Sarrafa nau'ikan Python da yawa akan tsarin Linux ba abu ne mai sauƙi ba, musamman ga masu farawa. Wani lokaci ma yana yin muni lokacin da kake son haɓakawa da gudanar da ayyuka da yawa tare da nau'ikan Python daban-daban akan sabar iri ɗaya. Koyaya, wannan bai kamata ya zama lamarin ba idan kun yi amfani da pyenv.

Pyenv kayan aiki ne mai sauƙi, mai ƙarfi da giciye don sarrafa nau'ikan Python da yawa akan tsarin Linux, waɗanda aka yi amfani da su.

  • Canza sigar Python ta duniya akan kowane mai amfani.
  • tsarin sigar Python na gida akan kowane tsarin aiki.
  • Sarrafa mahallin kama-da-wane da anaconda ko virtualenv suka kirkira.
  • Masar da sigar Python tare da canjin yanayi.
  • Neman umarni daga nau'ikan Python da yawa da ƙari.

Yawancin lokaci, ana amfani da nau'in tsoho na Python guda ɗaya don gudanar da duk aikace-aikacenku, sai dai idan kun bayyana sigar da kuke son amfani da ita a cikin aikace-aikacen. Amma pyenv yana aiwatar da sauƙi mai sauƙi na yin amfani da shims (masu aiwatar da nauyi) don ƙaddamar da umarnin ku zuwa daidaitaccen nau'in Python da kuke son amfani da shi, lokacin da aka shigar da nau'ikan nau'ikan nau'ikan nau'ikan iri.

Ana shigar da waɗannan shims ta pyenv a cikin kundin adireshi a gaban PATH ɗin ku. Don haka lokacin da kake aiwatar da umarnin Python, shim ɗin da ya dace ya kama shi kuma ya wuce zuwa pyenv, wanda zai kafa nau'in Python wanda aikace-aikacenku ya kayyade, kuma ya wuce umarninku tare da shigarwar Python da ya dace. Wannan shi ne bayanin yadda pyenv ke aiki.

A cikin wannan labarin, za mu nuna yadda ake shigar da sabuwar sigar pyenv a cikin Linux. Za mu kuma nuna alamun amfani guda uku na farko da aka jera a sama.

Yadda ake Sanya Pyenv a cikin Linux

1. Da farko shigar da duk fakitin da ake buƙata don shigar da nau'ikan Python daban-daban daga tushe ta amfani da umarni masu zuwa akan rarraba Linux daban-daban.

------------ 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. Na gaba, ɗauki sabuwar tushen pyenv daga wurin ajiyar Github kuma shigar da shi a cikin $HOME/.pyenv hanya ta amfani da bin umarni.

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

3. Yanzu kuna buƙatar saita yanayin yanayin PYENV_ROOT don nuna hanyar da kuka shigar da pyenv kuma ku fitar dashi. Sannan ƙara $PYENV_ROOT/bin zuwa PATH don gudanar da aikin layin umarni na pyenv kamar kowane umarnin tsarin.

Hakanan kuna buƙatar kunna shims da kuma cikawa ta atomatik ta ƙara pyenv init zuwa harsashin ku. Yi duk waɗannan abubuwan a cikin fayil ɗin farawa na $HOME/.bashrc bash, kamar yadda aka nuna.

$ vim $HOME/.bashrc 

Kwafi da liƙa waɗannan layuka masu zuwa a ƙarshen wannan fayil ɗin.

## 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. Da zarar kun yi canje-canjen da ke sama, zaku iya ko dai tushen fayil ɗin $HOME/.bashrc ko sake kunna harsashi kamar yadda aka nuna.

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

Yadda Ake Sanya Sabbin Python da yawa a cikin Linux

5. A wannan gaba, ya kamata ku kasance a shirye don fara amfani da pyenv. Kafin shigar da kowane nau'in Python, zaku iya duba duk nau'ikan da ke akwai tare da wannan umarnin.

$ pyenv install -l

6. Yanzu zaku iya shigar da nau'ikan Python da yawa ta hanyar pyenv, misali.

$ pyenv install 3.6.4
$ pyenv install 3.6.5

7. Don jera duk nau'ikan Python da ke akwai don pyenv, gudanar da umarni mai zuwa. Wannan zai nuna nau'ikan da aka shigar ta hanyar pyenv kanta.

$ pyenv versions

8. Kuna iya duba nau'in Python na duniya tare da umarni mai zuwa, a wannan lokacin, sigar tsoho ya kamata ya zama wanda tsarin ya tsara, ba pyenv ba.

$ pyenv global

Kuna iya saita sigar Python ta duniya ta amfani da umarnin pyenv.

$ pyenv global 3.6.5
$ pyenv global

9. Yanzu zaku iya saita nau'in Python na gida akan kowane tsarin aiki, misali, idan kuna da aikin da ke cikin $HOME/python_projects/test, zaku iya saita nau'in Python ta ta amfani da umarni mai zuwa.

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

10. Pyenv yana kula da mahallin kama-da-wane ta hanyar pyenv-virtualenv plugin wanda ke sarrafa sarrafa virtualenvs da mahallin conda don Python akan Linux da sauran tsarin UNIX.

Kuna iya farawa ta hanyar shigar da wannan plugin ta amfani da bin umarni.

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

11. Yanzu za mu ƙirƙiri mahallin gwaji mai suna venv_project1 a ƙarƙashin aikin da ake kira project1 kamar haka.

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

12. Yanzu idan ka jera duk nau'ikan Python, ya kamata a jera mahallin mahallin ku da kuma nau'ikan python na gida su ma, kamar yadda aka nuna a hoton.

$ pyenv versions

13. Don kunna virtualenv, misali venv_project1, rubuta umarni mai zuwa.

$ pyenv activate venv_project1

Lura: Kuna iya samun saƙon da ke ƙasa yayin amfani da sabon sigar plugin pyenv-virtualenv a karon farko.

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

Ƙara layin fitarwa PYENV_VIRTUALENV_DISABLE_PROMPT=1 a cikin $HOME/.bashrc fayil ɗinku, inda kuka ƙara wasu saitunan pyenv, sannan ku samo fayil ɗin don kwaikwayi halin da ake jaddadawa.

14. Don kashe aikin virtualenv, gudanar da wannan umarni.

$ pyenv deactivate

Don ƙarin bayani, zaku iya lissafin duk umarnin pyenv ta amfani da umarni mai zuwa.

$ pyenv commands

Don ƙarin bayani, je zuwa wurin ajiyar pyenv Github: https://github.com/pyenv/pyenv

Amfani da pyenv yana da sauƙi haka. A cikin wannan jagorar, mun nuna yadda ake shigar da shi, da kuma nuna wasu abubuwan amfani da shi don sarrafa nau'ikan python da yawa akan tsarin Linux. Yi amfani da fom ɗin amsa da ke ƙasa don yin kowace tambaya ko raba ra'ayoyinku game da wannan kayan aikin.