pyenv
https://github.com/pyenv/pyenv
Pyenv pozwala zarządzać wieloma wersjami Pythona bez sudo dla jednego użytkownika, podobnie jak Node.js NVM i Ruby RVM .
Zainstaluj Pyenv:
curl https://pyenv.run | bash
Następnie dodaj do .bashrc
:
export PATH="${HOME}/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Znajdź wersję Python do zainstalowania:
pyenv install --list
Zainstaluj żądaną wersję Pythona:
# Increase the chances that the build will have all dependencies.
# https://github.com/pyenv/pyenv/wiki/Common-build-problems
sudo apt build-dep python3
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
# Build and install a Python version from source.
pyenv install 3.8.0
Wyświetl dostępne wersje Pythona:
pyenv versions
Teraz mamy:
* system (set by /home/cirsan01/.pyenv/version)
3.8.0
Wybierz inną wersję Pythona:
pyenv global 3.8.0
python --version
python3 --version
Oba wyjścia:
Python 3.8.0
Możemy teraz przystąpić do instalowania i używania pakietów normalnie:
pip install cowsay
python -c 'import cowsay; cowsay.tux("Python is fun")'
cowsay 'hello'
Możemy potwierdzić, że wszystko jest zainstalowane lokalnie w naszym czystym środowisku dzięki:
python -c 'import cowsay; print(cowsay.__file__)'
which cowsay
Wykorzystanie według projektu
W poprzedniej sekcji widzieliśmy, jak używać pyenv w konfiguracji globalnej.
Jednak zwykle chcesz ustawić konkretny python i wersję pakietu dla poszczególnych projektów. Oto jak to zrobić.
Najpierw zainstaluj żądaną wersję Pythona jak poprzednio.
Następnie z poziomu katalogu projektu ustaw żądaną wersję Pythona za pomocą:
pyenv local 3.8.0
który tworzy plik .python-version
zawierający ciąg wersji.
A teraz zainstalujmy lokalnie pakiet tylko dla naszego projektu: TODO: nie ma dobrego sposobu na to: /programming/30407446/pyenv-choose-virtualenv-directory/59267972#59267972
Teraz, gdy ktoś chce użyć twojego projektu, zrobi:
pyenv local
co ustawia poprawną wersję Pythona.
Powiązane wątki:
Testowane na Ubuntu 18.04, pyenv 1.2.15.