この記事のポイント
pyenvを使うメリットが分かる
venvを使うメリットが分かる
pyenv、venvで開発環境(バージョン指定、仮想環境を作成、ライブラリーのインストール)が準備出来る
Pyenvを使って出来ること
pyenvを使うと、Pythonの複数バージョンの切り替えや、バージョンの管理が出来ます。
pyenvを使わず複数バージョンを使い分けることも可能ですが、インストールしたPythonを手動で切り替える必要が出てきます。
pyenvを使えば、Pythonのバージョンをプロジェクト毎(フォルダ内)で指定することが出来ます。
venvを使って仮想環境を作成する
Python自体のバージョン管理はpyenvで行うことが可能ですが、プロジェクト毎にインストールするライブラリー管理はvenv(python仮想環境)で行います。
venvは、現在Pythonの仮想環境を構築する標準モジュールです。
pyenvとvenvを使用すればPythonのバージョンと、ライブラリーのバージョンを切り分けて管理できます。
Pythonバージョンx.x.xxの環境に直接ライブラリーをインストールすると、そのPythonバージョンを使用する全てのプロジェクトのライブラリーにインストールされ、
依存関係などに影響を及ぼす可能性があります。
上記理由から、筆者はライブラリーの管理はvenvを使って仮想環境内で行っています。
pyenv、venvでPythonプロジェクトの開発を始める
Homebrewを使って、pyenvをインストールします。
brew install pyenv
pyenvのpathを通します。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
pyenvをインストール出来たら、バージョン確認で動作確認してみます。
pyenv -V
>> pyenvのバージョンが確認できればOK
次にPythonのバージョン指定して、インストールしてみます。
pyenv install --list
>> インストールできるPythonのバージョンを確認できます
pyenv install 3.8.17
>> 今回はバージョン3.8.17をインストールしてみます
適当なプロジェクトを作成し、プロジェクト直下で使用するPythonのバージョンを指定します。
今回は先ほどインストールした3.8.17を指定してみます。
mkdir sample-pj
cd sample-pj
pyenv local 3.8.17
>> sample-pjでのPythonバージョンを指定
python -V
>> 3.8.17になっていることを確認できればOK
続いてvenvを作成し、activateする
* xxxxは好きな名前に出来ます。venvや.venvみたいに指定できます。
python -m venv xxxx
* activateします
source xxxx/bin/activate
(xxxx) << 仮想環境に入れていれば、(xxxx)みたいに表示が切り替わります。
仮想環境でライブラリーをインストール
* Numpyをインストールしてみます
(xxxx)pip install numpy
* requirements.txtがあれば、一括でライブラリーのインストールが出来ます。
(xxxx)pip install -r requirements.txt
deactivate(仮想環境を終了させる)
deactivate
以上で、pyenvとvenvを使ってPython開発環境を構築することが出来ました。