pyenv
https://github.com/pyenv/pyenv
Pyenvを使用すると、Node.js NVMやRuby RVMのように、単一ユーザーのsudoを使用せずに複数のPythonバージョンを管理できます。
Pyenvをインストールします。
curl https://pyenv.run | bash
次に追加します.bashrc
:
export PATH="${HOME}/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
インストールするPythonバージョンを見つけます。
pyenv install --list
必要なPythonバージョンをインストールします。
# 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
使用可能なPythonバージョンをリストします。
pyenv versions
現在、次のものがあります。
* system (set by /home/cirsan01/.pyenv/version)
3.8.0
別のPythonバージョンを選択します。
pyenv global 3.8.0
python --version
python3 --version
両方の出力:
Python 3.8.0
これで、パッケージを通常どおりインストールして使用できるようになりました。
pip install cowsay
python -c 'import cowsay; cowsay.tux("Python is fun")'
cowsay 'hello'
以下を使用して、すべてがクリーンな環境にローカルにインストールされていることを確認できます。
python -c 'import cowsay; print(cowsay.__file__)'
which cowsay
プロジェクトごとの使用
前のセクションでは、グローバル設定でpyenvを使用する方法を見ました。
ただし、通常はプロジェクトごとに特定のpythonおよびパッケージバージョンを設定する必要があります。これがその方法です。
まず、以前のように希望のPythonバージョンをインストールします。
次に、プロジェクトディレクトリ内から、次のように目的のPythonバージョンを設定します。
pyenv local 3.8.0
.python-version
バージョン文字列を含むファイルを作成します。
そして、私たちのプロジェクトのためだけにローカルにパッケージをインストールしましょう。
今、誰かがあなたのプロジェクトを使いたいとき、彼らはそうします:
pyenv local
Pythonバージョンを正しいバージョンに設定します。
関連するスレッド:
Ubuntu 18.04、pyenv 1.2.15でテスト済み。