Python 開発環境構築
Python の開発はバージョン管理とパッケージ管理の問題があり大変。
しかも、これ!といった解決案はまだ出ていない。
現時点で自分が気に入っている開発環境構築手順を述べる。
ここではAnacondaについては述べない。Aancondaはこっち。
Anaconda 開発環境構築
pyenvやらvenvやらpipenvやらpoertyやら
Python を何も考えずに使う場合、一つのバージョンで、かつ、同じディレクトリでパッケージを管理することになる。
そうなると、複数のプロジェクトとかを扱いたい場合大変こまる。
プロジェクトごとに好きなPythonのバージョンで、かつ、好きなパッケージを自由にインストールしたい、といった場合、バージョン管理やパッケージ管理をしないといけなくなる。
その方法としてpyenvがあったりvirtualenvがあったりいろいろだったが、とりあえずpipenv一本に絞ることにした。
pyenvとは
pythonのバージョン管理に必要なツール。
pyenv がないと複数のPythonのバージョン(3.9とか3.8とか3.7とか)を切り替えるのが大変になる。
けど、pyenvは今はdeprecatedなのでなんか使うのに抵抗はある。
ので今回は使わない(といっても実はpipenvは内部でpyenvつかうので使ってるのだが)
venvとは
venvは簡単に仮想環境を作れるツール。
これでパッケージが汚染されなくなる。
Aという仮想環境、Bという仮想環境、それぞれでpipでインストール/アンインストールされるパッケージがきちんと分離されるのでパッケージを気にせず追加/更新/削除できる。
が、今回は使わない(といっても実はpipenv内部で使われるので使ってるのだが)
pipenvとは
pipenvはpyenvとvenvが合体したようなツール。
これを使えばPythonのバージョンもパッケージも管理することができる!
ので、これを採用する。
ただし、内部で使っているpyenvがそもそもdeprecatedなのでそのうち使えなくなるんじゃ?と不安ではある。
poetryとは
poetryは使ったことないから知らん。
pipenvの使い方
pipenvの使い方。
まずはディレクトリを作る。ディレクトリ名はなんでもいい。そのディレクトリ配下においてのみ、Pythonのバージョンなどが変わる仕組みとなっている。
1 |
|
で、作ったディレクトリ配下で以下を実行する。
pipenv --python (使いたいPythonのバージョン) 3.8だと、
1 2 |
|
これで、ディレクトリにPipfileというのができる。
この状態で、
1 |
|
と打ち込むと、仮想環境が実行される。
終了したい時は、
1 |
|
なお、ディレクトリを移動してもこの環境は有効なので注意。
pyenv の local みたいにそのディレクトリ配下、とかそういうのはない。
なので複数のをやりたい場合はちゃんとexitしてやり直さないといけない。
ちなみに、
1 2 3 4 |
|
のようなエラーが出た場合はpyenvが入っていないからで、pip installでpyenvを入れること。
以上!