venvでPython 3.8用の仮想環境を用意した時のメモ

仕事でPython 3.8向けのツールを使用する必要に迫られたのだが、自分の使っているMacのPythonのバージョンは3.9だったのでvenvで3.8用の仮想環境を用意して対応した。

以下はその時のメモ。

まずはPython 3.8をインストールする。

brew install python@3.8

この時、インストール先を確認しておく。

==> python@3.8
Python has been installed as
  /usr/local/opt/python@3.8/bin/python3

Python 3.8のインストールの完了を確認。

/usr/local/opt/python@3.8/bin/python3 -V
Python 3.8.10

Python 3.8用の仮想環境を作成する。(Python 3.8のパスを通していないので、フルパスでコマンドを指定する)

/usr/local/opt/python@3.8/bin/python3 -m venv my_env

作成した仮想環境をActivateする。

source my_env/bin/activate

仮想環境が立ち上がるので、Pythonのバージョンを確認する。

(my_env)$ python3 -V
Python 3.8.10

あとは作成した3.8用の仮想環境で件の3.8向けのツールをインストールして使用するだけ。

(my_env)$ python3 setup.py install

仮想環境を終了するには

(my_env)$ deactivate

参考
https://qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e

追記

上の例ではbrewで任意のバージョンのPythonをインストールしてから仮想環境を構築したが、今後はpyenv とvenvを併用しようと思う。そのうちpyenv-virtualenvを使うかもしれない。

pyenvのコマンド・リファレンスはこちら

pyenv実行のためのシェル環境を整える。Bashの場合は以下を.bashrcや.bash_profileに追記する。詳しくは公式のインストールガイドを参照。

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

追記後はsource ~/.bashrcsource ~/.bash_profileを実行して変更を反映させる。

Python 3.8.0をインストール。

$ pyenv install 3.8.0

project-directoryへ移動。

$ cd project-directory/

project-directoryで使用するPythonのバージョンを3.8.0に設定する。(元に戻したい時はpyenv local --unset)

$ pyenv local 3.8.0

バージョンを確認。

$ pyenv version
3.8.0

project-directory内でPython 3.8.0の仮想環境を作成。

$ python -m venv my_venv

仮想環境をActivate。

$ source my_venv/bin/activate

仮想環境のPythonのバージョンを確認。

(my_venv)$ python -V
Python 3.8.0

仮想環境にツールをインストール。

(my_venv)$ python setup.py install

Leave a Reply

Your email address will not be published. Required fields are marked *