Pyenv - Installer flere Python-versjoner for spesifikt prosjekt
Å administrere flere versjoner av Python på et Linux-system er ikke en lett oppgave, spesielt for nybegynnere. Noen ganger blir det til og med verre når du vil utvikle og kjøre flere prosjekter med forskjellige Python-versjoner på samme server. Dette bør imidlertid ikke være tilfelle hvis du bruker pyenv.
Les også: Slik installerer du siste Python 3.6-versjon i Linux
Hva er Pyenv?
Pyenv er et enkelt, kraftig og kryssplattformverktøy for å administrere flere Python-versjoner på Linux-systemer, som brukes til.
- Bytte av den globale Python-versjonen per bruker.
- sette den lokale Python-versjonen på per-prosjekt-basis.
- Administrering av virtuelle miljøer laget av anaconda eller virtualenv.
- Overstyrer Python-versjonen med en miljøvariabel.
- Søkekommandoer fra flere versjoner av Python og mer.
Hvordan fungerer pyenv?
Vanligvis brukes en enkelt standardversjon av Python til å kjøre alle applikasjonene dine, med mindre du eksplisitt spesifiserer versjonen du vil bruke i applikasjonen. Men pyenv implementerer et enkelt konsept med å bruke shims (lette kjørbare filer) for å sende kommandoen til den riktige Python-versjonen du vil bruke, når du har flere versjoner installert.
Disse shims er satt inn av pyenv i en katalog foran PATH. Så når du kjører en Python-kommando, blir den fanget opp av den aktuelle shim og sendt til pyenv, som deretter etablerer Python-versjonen som er spesifisert av applikasjonen din, og passerer kommandoene dine sammen med den rettmessige Python-installasjonen. Dette er en oversikt over hvordan pyenv fungerer.
I denne artikkelen vil vi vise hvordan du installerer den nyeste versjonen av pyenv i Linux. Vi vil også demonstrere de tre første brukstilfellene som er oppført ovenfor.
Hvordan installere Pyenv i Linux
1. Installer først alle nødvendige pakker for å installere forskjellige Python-versjoner fra kilder ved å bruke følgende kommando på din respektive Linux-distribusjon.
------------ 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. Deretter henter du det siste pyenv-kildetreet fra Github-depotet og installer det i $HOME/.pyenv
-banen ved å bruke følgende kommando.
git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv
3. Nå må du sette miljøvariabelen PYENV_ROOT til å peke på banen der du installerte pyenv og eksportere den. Legg deretter til $PYENV_ROOT/bin til PATH for å kjøre pyenv kommandolinjeverktøy som alle andre systemkommandoer.
Du må også aktivere shims samt autofullføring ved å legge til pyenv init i skallet ditt. Gjør alle disse tingene i $HOME/.bashrc-bash-oppstartsfilen, som vist.
vim $HOME/.bashrc
Kopier og lim inn følgende linjer på slutten av denne filen.
## 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. Når du har gjort endringene ovenfor, kan du enten kilde $HOME/.bashrc-filen eller starte skallet på nytt som vist.
source $HOME/.bashrc
OR
exec "$SHELL"
Hvordan installere flere Python-versjoner i Linux
5. På dette tidspunktet bør du være klar til å begynne å bruke pyenv. Før du installerer en Python-versjon, kan du se alle tilgjengelige versjoner med denne kommandoen.
pyenv install -l
6. Du kan nå installere flere Python-versjoner via for eksempel pyenv.
pyenv install 3.6.4
pyenv install 3.6.5
7. For å liste alle Python-versjoner som er tilgjengelige for pyenv, kjør følgende kommando. Dette vil bare vise versjoner installert via selve pyenv.
pyenv versions
8. Du kan sjekke den globale Python-versjonen med følgende kommando, på dette tidspunktet bør standardversjonen være den som er angitt av systemet, ikke pyenv.
pyenv global
Du kan angi den globale python-versjonen ved å bruke pyenv-kommandoen.
pyenv global 3.6.5
pyenv global
9. Du kan nå angi den lokale Python-versjonen på per-prosjekt-basis, hvis du for eksempel har et prosjekt i $HOME/python_projects/test, kan du angi Python-versjonen av den ved å bruke følgende kommando.
cd python_projects/test
pyenv local 3.6.5
pyenv version #view local python version for a specific project
OR
pyenv versions
10. Pyenv administrerer virtuelle miljøer via pyenv-virtualenv-plugin som automatiserer administrasjon av virtualenvs- og conda-miljøer for Python på Linux og andre UNIX-lignende systemer.
Du kan starte med å installere denne plugin-en ved å bruke følgende kommandoer.
git clone https://github.com/yyuu/pyenv-virtualenv.git $HOME/.pyenv/plugins/pyenv-virtualenv
source $HOME/.bashrc
11. Nå skal vi lage et virtuelt testmiljø kalt venv_project1 under et prosjekt kalt project1 som følger.
cd python_projects
mkdir project1
cd project1
pyenv virtualenv 3.6.5 venv_project1
12. Nå når du viser alle Python-versjoner, bør de virtuelle miljøene dine så vel som deres lokale python-versjoner også være oppført, som vist på skjermbildet.
pyenv versions
13. For å aktivere en virtualenv, for eksempel venv_project1, skriv inn følgende kommando.
pyenv activate venv_project1
Merk: Du kan få meldingen nedenfor mens du bruker den nyeste versjonen av pyenv-virtualenv-plugin for første gang.
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
Legg til linjen eksport PYENV_VIRTUALENV_DISABLE_PROMPT=1 i $HOME/.bashrc-filen din, der du la til andre pyenv-konfigurasjoner, og kilde filen for å simulere atferden som vektlegges.
14. For å deaktivere den aktiverte virtualenv, kjør denne kommandoen.
pyenv deactivate
For mer informasjon kan du liste alle pyenv-kommandoer ved å bruke følgende kommando.
pyenv commands
For mer informasjon, gå til pyenv Github-depotet: https://github.com/pyenv/pyenv
Les også: Slik installerer du flere PHP-versjoner for flere nettsteder
Å bruke pyenv er egentlig så enkelt. I denne veiledningen viste vi hvordan du installerer den, samt demonstrerte noen av brukstilfellene for å administrere flere python-versjoner på et Linux-system. Bruk tilbakemeldingsskjemaet nedenfor for å stille spørsmål eller dele tankene dine om dette verktøyet.