pythonのバージョンを管理しながら仮想環境構築したので、備忘録
やったこと
- pythonの複数バージョンをpyenvでインストール。
- 指定のディレクトリで使えるpythonのバージョンを指定。
- 指定したバージョンでvenvで仮想環境構築。
*macOSでzshです。
一つずつ説明を書きます。
1. pythonの複数バージョンをpyenvでインストール。
- まずpyenvをインストール。homebrewを使ってます。
brew install pyenv
- シェルの設定ファイルにpyenvを追加
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
上記のスクリプトを下記のようにターミナル上でファイルを開いてコピペして、ファイルを変更する。
nano ~/.zshrc
出力は以下。ここにコピペして保存。
UW PICO 5.09 File: /Users/yamamotoryoichi/.zshrc
eval "$(rbenv init -)"
export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"
export PATH=$HOME/.nodebrew/current/bin:$PATH
export PATH="$PATH:`yarn global bin`"
export JAVA_HOME=`/usr/libexec/java_home -v 15.0.1`
export PATH="/usr/local/opt/python@3.13/libexec/bin:$PATH"
# pyenv のパスを優先する
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text^T To Spell
- 設定を反映させる。
source ~/.zshrc
これでターミナル上でpyenv
コマンドが使える。
-
pyenv
コマンドを使って必要なpythonバージョンをインストール。
*勝手なイメージだとpyenvフォルダの中にpythonバージョンごとにフォルダを作るイメージ。そのためhomebrewでpythonをインストールしているのとは別のフォルダ内にpythonのフォルダが作られる感じ。
pyenv install 3.9.7
pyenv install 3.8.12
- インストールされているかを確認。
pyenv versions
#出力
python 3.9.7
python 3.8.12
となっているはず。
2. 指定のディレクトリで使えるpythonのバージョンを指定。
- 仮想環境を作りたいディレクトリへ移動しpyenvでそのディレクトリ内で使えるpythonバージョンを指定。
cd my_project
pyenv local 3.9.7
これで、my_project
ディレクトリ内ではPython 3.9.7が使用されるようになります。
3. 指定したバージョンでvenvで環境構築。
- 仮想環境を構築。
この時python
コマンドを使用しているが、python --version
でバージョンを確認してみてもわかる通り、先ほど指定したバージョンになっている。
python -m venv your_venv_name
これで仮想環境が構築完了。
ちなみに
pyenv global 3.9.7
のようにすればグローバル(どこのディレクトリ)のpythonのバージョンを変えられるらしい。
書籍のサンプルコードが動かなかったため、四苦八苦しました。