Installere python virtualenv: Forskjell mellom sideversjoner
m (La til lenke til den engelske siden) |
Ingen redigeringsforklaring |
||
(5 mellomliggende revisjoner av samme bruker vises ikke) | |||
Linje 31: | Linje 31: | ||
(mittprosjekt_env)[user@hostname mittprosjekt_env]$ deactivate | (mittprosjekt_env)[user@hostname mittprosjekt_env]$ deactivate | ||
</pre> | </pre> | ||
== pyenv == | |||
Dersom man ønsker å kunne installere flere versjoner av python og andre distribusjoner som Anaconda eller lignende kan [https://github.com/pyenv/pyenv pyenv] være en god løsning. | |||
Det er best å bruke /scratch til dette siden det kan være ganske mye data. | |||
For å installere pyenv gjør man følgende: | |||
<pre> | |||
export PYENV_ROOT=/scratch/pyenv | |||
curl https://pyenv.run | bash | |||
</pre> | |||
Deretter editerer man ~/.bashrc og sørger for at følgende står i filen. For maskiner med lokal hjemmekatalog: | |||
<pre> | |||
export PYENV_ROOT=/scratch/pyenv | |||
export PATH="$PYENV_ROOT/bin:$PATH" | |||
eval "$(pyenv init -)" | |||
eval "$(pyenv virtualenv-init -)" | |||
</pre> | |||
Dersom man har sentral hjemmekatalog og ønsker å unngå feilmeldinger når man logger inn på maskiner uten pyenv kan man først teste om pyenv eksisterer: | |||
<pre> | |||
if test -d /scratch/pyenv; then | |||
export PYENV_ROOT=/scratch/pyenv | |||
export PATH="$PYENV_ROOT/bin:$PATH" | |||
eval "$(pyenv init -)" | |||
eval "$(pyenv virtualenv-init -)" | |||
fi | |||
</pre> | |||
Nå kan man installere andre versjoner av python og enkelt bytte mellom versjonene. | |||
<pre> | |||
pyenv install --list # lister alle tilgjengelige installasjoner | |||
pyenv install 3.7.1 # installerer python 3.7.1 | |||
pyenv versions # lister opp alle installerte versjoner | |||
pyenv version # forteller hvilken versjon som er gjeldende for den mappen man står i | |||
pyenv rehash # kjøres etter at man har gjort endringer | |||
pyenv global # setter eller viser den globale pythonversjonen | |||
pyenv local # setter eller viser den lokale pythonversjonen | |||
</pre> | |||
Når pyenv er installert vil pip installere pakkene til den aktive python-versjonen. | |||
For å oppdatere pyenv bruker man git pull: | |||
<pre> | |||
cd $(pyenv root) | |||
git pull | |||
</pre> | |||
Om man ønsker å fjerne pyenv så gjøres dette ved å slette /scratch/pyenv. Husk å fjerne referansene til pyenv fra ~/.bashrc dersom den ikke ligger inne med en test. |
Siste sideversjon per 15. mai 2019 kl. 08:07
Virtualenv
Virtualenv er et verktøy som løser problematikken med å ha flere python prosjekt med forskjellige/motstridene krav på en maskin. Det virtualenv gjør er at det lager et isolert område som prosjektet kan leve i med en kopi av alt du trenger for å kjøre et python program.
Installer virtualenv :
[user@hostname ~]$ sudo apt-get install python-virtualenv
Da er virtualenv installert og man kan lage et isolert område for prosjektet som også installerer pip til prosjektet ditt:
[user@hostname ~]$ cd sti/til/mineprosjekt [user@hostname mineprosjekt]$ virtualenv mittprosjekt_env [user@hostname mineprosjekt]$ cd mittprosjekt_env [user@hostname mittprosjekt_env]$ source bin/activate
Da er man klar til å installere det man ønsker av python pakker til prosjektet.
[user@hostname mittprosjekt_env]$ pip install PythonPakke
- Pakkene blir da liggende i mittprosjekt_env/ og er tilgjengelig for kun dette prosjektet.
Når man er ferdig kan man bare kjøre følgende kommando for å avslutte arbeidet i virtualenv:
(mittprosjekt_env)[user@hostname mittprosjekt_env]$ deactivate
pyenv
Dersom man ønsker å kunne installere flere versjoner av python og andre distribusjoner som Anaconda eller lignende kan pyenv være en god løsning.
Det er best å bruke /scratch til dette siden det kan være ganske mye data.
For å installere pyenv gjør man følgende:
export PYENV_ROOT=/scratch/pyenv curl https://pyenv.run | bash
Deretter editerer man ~/.bashrc og sørger for at følgende står i filen. For maskiner med lokal hjemmekatalog:
export PYENV_ROOT=/scratch/pyenv export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
Dersom man har sentral hjemmekatalog og ønsker å unngå feilmeldinger når man logger inn på maskiner uten pyenv kan man først teste om pyenv eksisterer:
if test -d /scratch/pyenv; then export PYENV_ROOT=/scratch/pyenv export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" fi
Nå kan man installere andre versjoner av python og enkelt bytte mellom versjonene.
pyenv install --list # lister alle tilgjengelige installasjoner pyenv install 3.7.1 # installerer python 3.7.1 pyenv versions # lister opp alle installerte versjoner pyenv version # forteller hvilken versjon som er gjeldende for den mappen man står i pyenv rehash # kjøres etter at man har gjort endringer pyenv global # setter eller viser den globale pythonversjonen pyenv local # setter eller viser den lokale pythonversjonen
Når pyenv er installert vil pip installere pakkene til den aktive python-versjonen.
For å oppdatere pyenv bruker man git pull:
cd $(pyenv root) git pull
Om man ønsker å fjerne pyenv så gjøres dette ved å slette /scratch/pyenv. Husk å fjerne referansene til pyenv fra ~/.bashrc dersom den ikke ligger inne med en test.