https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd
シェアしました。
一部引用しました。
Pipenv
https://github.com/pypa/pipenv
Pipenv
は、virtualenv
の仕事に加えて、Pipfile
という次世代のパッケージ管理システムを実装したツールである。Pipenv
は仮想環境を作成するだけでなく、pip
と同じようにパッケージ管理を行うことができる。その際、pip
とは異なり、「何が要求されたパッケージで、何が依存関係の解決に必要だったパッケージなのか」を記録することができる。
これによって、どのパッケージがどのパッケージによって要求され、どのパッケージによってバージョン固定されたのかがわかり、パッケージリストがきれいになるのである。
Python
に馴染みがない人にとっては、あまり利点がわからないかもしれない。
実際、あまり開発をしないのであれば、venv
で十分なのではないかという気もする。
あと、これは個人的な主観なのだが、インターフェースが非常にわかりやすい。
新しいプロジェクトで仮想環境を作りたければpipenv install
とするだけ、git clone
してきたプロジェクトに置いてあったPipfile
を読み込むときもpipenv install
とするだけ、pip
の代わりに使うときもpipenv install <package-name>
とpip
をpipenv
に置き換えるだけ。大変わかりやすい。
まとめ
インタプリタ切替 | パッケージ切替 | パッケージインストール | |
---|---|---|---|
pyenv | ○ | ||
virtualenv | ○ | ○ | |
pip | ○ | ||
venv | ○ | ||
pyenv-virtualenv | ○ | ○ | |
virtualenvwrapper | ○ | ||
Anaconda | ○ | ○ | △ |
Pipenv | ○ | ◎ |
pyenv-virtualenvをやめ、Pipenvを使う
以上の仮想環境ツールを比較した上で、私はpyenv-virtualenv
をやめ、Pipenv
を使うことにした。
pyenv-virtualenv
をやめたことで、私のshellは爆速になった。もう二度とpyenv-virtualenv
を使うつもりはない。
Pipenv
はあくまでも仮想環境マネージャなので、Python
自体のインストールは別の方法で行う必要がある。pyenv
に任せてもいいのだが(実際、Pipenv
にはpyenv
と協調する仕組みがある)、pyenv
のやってくれることのうち「状況に応じて適切なPython
インタプリタを用いられる」という部分はPipenv
がすでに担当しており、仕事が被ってしまうと思ったので、Python
は手動でインストールすることにした。
実際、普通の人間に必要なPython
は最新バージョンのstableなpython
(現時点では3.7.3)だけであり、あとは時々3.6や3.5、考古学者のために2.7が必要になるくらいである。Pyenv
のような強いシステムの出る幕はたぶんない。
Pipenv
のインストールは単純で、公式ページに書かれている通り、brew
やapt
で入れたり、あるいはpython -m pip install --user pipenv
とするだけである。
新しくプロジェクトを立ち上げる際には、
~$ mkdir project1 # Projectを作成
~$ cd project1 # Projectに移動
~/project1$ pipenv install # 仮想環境を作成
~/project1$ pipenv shell # 仮想環境に入る
とすればよい。
次からは単にpipenv shell
とするだけである。
おわりに
この記事では、pyenv
、virtualenv
、pip
、venv
、pyenv-virtualenv
、virtualenvwrapper
、Anaconda
、Pipenv
を並べ、それらの特性について軽くまとめた。
この記事が皆さんのPython
ライフの一助となれば幸いである。
Pipenv
流行れ。
0 コメント:
コメントを投稿