はじめに
こんにちは、もちもちMAXです。
今までPythonを使って色々なことをやってきたのですが、その中で困るのがPythonバージョン、ライブラリの管理です。ちょっと試そうにも今のPythonバージョンでは動かない、ライブラリのバージョンが全然違うなど、よくあると思います。また、大量に仮想環境を作っていると何が何だか分からない、ということもありますよね?
そんな時におすすめのPython環境の管理、運用方法を説明します!
Python環境の管理とは
そもそもPython環境の管理というのは
- Pythonそのもののバージョン
- 使用するライブラリのバージョン
の2つを管理すること(と勝手に思っています)を言います。今回はそれぞれpyenvとpipenvでバージョンを管理していきます。
pyenvのインストール
pyenvは複数のPythonバージョンを1つのシステムにインストールし管理するためのツールです。Windowsでpyenvをインストールするには、コマンドプロンプトで下記を実行します。
pip install pyenv-win --target %USERPROFILE%/.pyenv
下記の2つのパスをユーザの環境変数の一番上に追加します。
%USERPROFILE%\.pyenv\pyenv-win\bin
%USERPROFILE%\.pyenv\pyenv-win\shims
※ %USERPROFILE%は、Windowsのコマンドプロンプトで使用される環境変数で、ログインしているユーザーのプロファイルディレクトリのパスを表します。なのでそのままコピペして実行してもらえればいけるはずです。
pyenvによるPythonのインストールは下記のコマンドで可能です。
pyenv install 3.9.4
pipenvのインストール
pipenvは仮想環境を作成し、プロジェクトごとに独立したライブラリのバージョン管理をおこなうツールです。pipenvのインストールはpipで簡単にできます。
pip install pipenv
pipenvで仮想環境を作成する際は、適当なディレクトリに移動し下記のコマンドを実行します。
pipenv install
仮想環境作成後に、下記のコマンドで仮想環境に入ることができます。
pipenv shell
最後に、下記のコマンドで所望のパッケージを仮想環境にインストールできます。
pipenv install numpy
ちなみに、pipenvの仮想環境では↑キーで直前のコマンドを表示することができません。これが地味にうざったいので、仮想環境に入る際にpipenv shell
ではなく下記のコマンドを使うことをおすすめします。コマンドプロンプトではこれで↑キーが有効になります。
python -m pipenv shell
pyenvとpipenvの運用
ここまでの説明で自由にPythonのバージョンとライブラリのバージョンを管理することができるようになりました。ただ、このまま何も考えずにPythonインストール、仮想環境作成を続けていくと意外とごちゃついてきます。複数のプロジェクトを同時進行しているときはpyenvでPythonバージョンを変えるのが面倒になってきますし、そもそもどのPythonバージョンを使っていたかも分からなくなってきます。
そこで、おすすめの運用方法を紹介します。といっても、特にツールを使うわけではなくディレクトリ構成と名前にルールを付けるだけなので簡単です。
ルール1:pyenvはローカルで適用しPythonバージョンをディレクトリ名にする
文字で言っても分かりにくいと思うので、適用した結果のディレクトリ構成を示します。
working_dir
│───python3803
│───python3911
└───python3104
こんな感じで、ディレクトリ名をPythonのバージョンにします。そして、それぞれのディレクトリでバージョンに合わせたコマンドを実行します。
pyenv local 3.9.11
このコマンドは実行時のディレクトリにのみpyenvを適用するもので、python3911
のディレクトリで実行すればその配下でのみ3.9.11のPythonが有効になるということです。
ルール2:pipenvはルール1で作成したディレクトリ配下で実行する
pipenvの仮想環境はpython3911
などの特定のPythonが実行可能なディレクトリ配下で作成します。基本的にはプロジェクトの名前をそのまま付ければ良いです。
working_dir
│───python3803
│───python3911
│ │────deep_learning 機械学習系のライブラリを入れる
│ └────web_server webサーバ用のライブラリを入れる
└───python3104
これらの2つのルールを守って運用するだけでpython環境で悩むことがかなり減るかと思います。
さいごに
今回はPython環境の管理、運用方法について説明しました。この運用を始めてからPython環境がぐちゃぐちゃになることも無くなりストレスフリーで開発できています。運用方法は状況によって最適なものが変わると思うので今回紹介したものは色々ある内の1つと思ってください。もし合いそうであれば是非やってみてください!
最近、ブログと自作アプリのLPを立ち上げたので是非見てってください!それでは!!
ブログ↓
https://mochinochikimchi.com
アプリLP↓
https://mochinochikimchi.com/applications/mealmotion/index.html