仕事で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 ~/.bashrc
やsource ~/.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