Ubuntu 16.04でpyenv & pyenv-virtualenvを使う(2021.11.9)

pyenv, pyenv-virtualenvのインストール

Ubuntu 16.04でのインストール

Ubuntuのバージョン確認

$ cat /etc/os-release

以下のようにしてインストールできる

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install git wget curl

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

bashの場合

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile 
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 
$ echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile 
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile 
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile 
$ source ~/.bash_profile

pyenv –versionとして以下のような表示がされない場合は、古い設定方法を試す。

$ pyenv --version
pyenv 2.0.3

$ pyenv init

# (The below instructions are intended for common
# shell setups. See the README for more guidance
# if they don't apply and/or don't work for you.)
    
# Add pyenv executable to PATH and
# enable shims by adding the following
# to ~/.profile and ~/.zprofile:
    
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

# Load pyenv into the shell by adding
# the following to ~/.zshrc:

eval "$(pyenv init -)"

# Make sure to restart your entire logon session
# for changes to profile files to take effect.

古い設定方法は以下のとおり。

$ echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="${PYENV_ROOT}/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

pyenv, python-virtualenvの利用方法

あたらしいPythonのバージョンをインストールする

特定のアプリ開発のために専用の環境を設定する

  1. 利用可能なPythonのバージョンの確認

    $ pyenv install -list
  2. インストール済みのPythonのバージョンの確認

    $ pyenv versions
  3. 必要なバージョンのインストール

    $ pyenv install 3.9.4
  4. グローバル設定

    $ pyenv global 3.8.5
  5. ローカル設定

    $ pyenv local  3.9.4
  6. 環境の削除

    $ pyenv uninstall <version>

開発向けのローカル設定とvirtualenvの設定

現在インストールされているパッケージのリストを保存する

$ mkdir test_app1
$ cd test_app1
$ pyenv virtualenv 3.8.5 3.8.5_test_app1
$ pyenv local 3.8.5_test_app1
$ pip install ...
$ pip freeze > requirements.txt

別のPythonバージョンの環境に切り替えて同じパッケージをインストールする

$ pyenv virtualenv 3.9.4 3.9.4_test_app1
$ pyenv local 3.9.4_test_app1
$ pip install -r requirements.txt

現在のvirtualenv環境を削除する

$ pyenv versions
$ pyenv uninstall 3.9.4_test_app1

参考

Back to Index