Table of Contents

モチベーション

pyenvでPythonのバージョンを切り替える

  1. デフォルトのPythonのバージョンを確認する

    $ python --version
    Python 2.7.16
  2. brewpyenvをインストールする

    $ brew install pyenv
  3. PATHなどを設定する

    export PYENV_ROOT="${HOME}/.pyenv"
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
  4. pyenvで使用可能なPythonのバージョン一覧を確認する

    $ pyenv install -l
    Available versions:
    2.1.3
    2.2.3
    2.3.7
    :
    :
  5. 任意のバージョンをインストールする

    $ pyenv install 3.9.0
    :
    Installed Python-3.9.0 to /Users/xxxx/.pyenv/versions/3.9.0
  6. 切替可能なバージョンを確認する

    $ pyenv versions
    \* system (set by /Users/xxxx/.pyenv/version)
      3.9.0

システム全体のPythonバージョンを切り替える

$ pyenv global 3.9.0

$ pyenv versions
    system
\* 3.9.0 (set by /Users/xxxx/.pyenv/version)

$ python --version
Python 3.9.0

$ pip -V
pip 20.2.3 from /Users/xxxx/.pyenv/versions/3.9.0/lib/python3.9/site-packages/pip (python 3.9)

特定のディレクトリ内のみに特定のPythonバージョンを設定する

$ mkdir sandbox; cd sandbox

$ pyenv versions 
\* system
    3.9.0 (set by /Users/xxxx/.pyenv/version)

$ python --version
Python 2.7.16

$ pyenv local 3.9.0

$ cat .python-version
3.9.0

$ pyenv versions
    system
\* 3.9.0 (set by /Users/xxxx/sandbox/.python-version)

$ python --version
Python 3.9.0

venvでパッケージを分離する

  1. pyenvでPythonを任意のバージョンに切り替える

  2. インストール済みのパッケージを確認する

    $ pip list
    Package    Version
    ---------- -------
    pip        20.3.3
    setuptools 49.2.1
  3. 仮想環境<target directory>を作成する.

    $ python -m venv <target directory>
    
    $ ls <target directory>
    bin     include     lib     pyvenv.cfg
  4. 仮想環境を実行する

    $ source <target directory>/bin/activate
    
    (target directory name) $
  5. 何かしらのパッケージをインストールし,仮想環境にパッケージがインストールされたことを確認する

    $ pip install selenium
    :
    Successfully installed selenium...
    
    $ pip freeze
    selenium==3.141.0
    urllib3==1.26.2
  6. 仮想環境を終了する

    (target directory name) $ deactivate
    
    $
  7. 元の環境と仮想環境のパッケージが分離されていることを確認する

    $ pip freeze
    $

pip freezepip listの違い