はじめに
venvで仮想環境を作ろうとした際に「使用するPythonのVersionも指定出来たらいいな」と思い調べてみたところ、pyenvでPythonのVersionが切り替えられることを知りました。
せっかくなので備忘録としてまとめておきたい...
そこで今回は「新規プロジェクト用に、指定したVersionのPythonの仮想環境を構築する」というストーリーをイメージしながら実践します!
目次
- 事前知識
- pyenvとは
- venvとは
- 実践
- ステップ① pyenvで使用するPythonのバージョンを指定
- ステップ② venvで仮想環境を作成する
- 最後に
- 参考文献
事前知識
ここで使用する「pyenv」と「venv」がそれぞれどういう役割を持つのかまとめます。
※名前がそっくりでなのでここで違いをはっきりさせます。
pyenvとは
pyenv lets you easily switch between multiple versions of Python.
訳:pyenvを使用することで複数のバージョンのPythonを切り替えることができる。
使用したいPythonのバージョンにすぐに切り替えられる便利な代物がpyenvです。
詳細は公式を確認していただければと思いますが、簡単にpyenvでできることをまとめておきます。
- ユーザーごとにglobalのPythonのバージョンを変更できる。
- プロジェクトごとにPythonのバージョンを設定できる。
- 環境変数にPythonのバージョンを上書きできる。
- 複数のバージョンのPythonから一度にコマンドを検索できる。
今回はプロジェクトごとにPythonのバージョンを設定するためにpyenvを使用します。
venvとは
The venv module provides support for creating lightweight “virtual environments” with their own site directories, optionally isolated from system site directories.
訳:venvモジュールを使用することでシステムのsiteディレクトリと切り離された独自のsiteディレクトリをもつ、軽量な「仮想環境」を作ることができる。
Global環境に依存しない、プロジェクト専用の環境を作成するためのモジュールです。
プロジェクトごとに違うバージョンのライブラリを使いたいとき、ありますよね!
仮想環境を作成することで、プロジェクトごとにライブラリをインストールすることができます。
venvで仮想環境を作成する際に使用したPythonのバージョンが、仮想環境のPythonのバージョンとして設定されます。そこでpyenvでプロジェクトで使用するPythonのバージョンを事前に指定してから、venvで仮想環境を作成します。
実践
事前にpyenvをインストールしておく必要があります。公式に従ってインストールしてください。
ステップ① pyenvで使用するPythonのバージョンを指定
まず、使いたいバージョンのPythonをインストールします。
pyenv install 3.10.6
インストールが完了したらご自身のプロジェクトディレクトリに移動してください。
※以降の内容はすべてプロジェクトディレクトリで実行してください。
cd C:\Users\ユーザー名\project
切り替える前のバージョンを確認します。
以下を実行するとGlobal環境のPythonのバージョンが表示されるかと思います。
python -V
次に以下のコマンドを実行してプロジェクトで使用するPythonのバージョンを指定します。
(バージョンはお好きなもので)
pyenv local 3.10.6
正しくバージョンを指定できたか確認します。
python -V
ご自身が指定したバージョンに切り替わっていればOKです!
ステップ② venvで仮想環境を作成する
ではカレントディレクトリはプロジェクトディレクトリのまま仮想環境を作っていきましょう!
python -m venv 仮想環境名
これを実行するとカレントディレクトリ内に「仮想環境名」のディレクトリが新たに作成されると思います。
これで完成と思ってしまいますが、venvで作成した仮想環境を使用するためには「Activate」、中断するときは「Deactivate」する必要があります。
仮想環境名\Scripts\activate
仮想環境が起動するとパスの先頭に「(仮想環境名) C:~」が表示されます。
このようにプロジェクトを使用するときは毎度仮想環境をActivateすればOKです!
念のため仮想環境がGlobal環境と切り離されていることを確認しましょう。
pip list
ライブラリがほとんど入っていないことが確認できます。
最後に作業を中断するときは仮想環境を閉じましょう。
deactivate
最後に
これで準備OKです!
あとはいつも通り「pip install」で使いたいライブラリをインストールして、ご自身のカスタム環境を作成してください!
以上で指定したPythonのバージョンが使用できる仮想環境の作成はおしまいです。
お読みいただきありがとうございました。
誤り等ございましたら、ご指摘いただけますと幸いです。
参考文献
pyenv公式
venv公式
@HyunwookParkさん:pyenv + venvを使ったpython仮想環境(Windows向け)
@KRiver1さん:pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
追記(自分用メモ)
・pyenvでpythonのバージョンを変更できるが、Visual Studio Codeで使用するPythonのバージョンは手動で変更しなければならない。
(変更先はプロジェクトディレクトリのvenvの中にあるpython)