プログラミング

Python|pyenv、venvでPython開発環境を構築する

この記事のポイント

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開発環境を構築することが出来ました。

  • この記事を書いた人

kazuki.m

エンジニア

開発言語:Python、Typescript

最近の関心:Vue、Typescript、Rust

-プログラミング