k2ss.info
Pipenvを使ってPython開発を快適に | @K2SS - 日々、邁進
最近、Pythonでコードを書く機会が増えてきました。 インデント強制 標準ライブラリで出来ることが多い Python3からは仮想環境であるvenvが標準で利用できる などの理由で主に使っています。 ただ、Webアプリケーションなどでライブラリが必要な場面に遭遇すると、easy_installやpipなどのツールを利用してパッケージを取得することがあります。 今回はこのパッケージマネージャについてです。 他言語のパッケージマネージャとの比較 メジャーな言語には、たいてい強力なパッケージ管理ツールがあります。 以下は有名ですね。 composer(PHP) RubyGems(Ruby) cpan(Perl) npm、yarn(JavaScript) Maven(Java) NuGet(C#) 依存関係の解決だけでなく、設定ファイルを書くことで開発・本番での場合分けや マルチプラットフォームでの環境の再現も容易に行うことができるものもあります。 ただ、先述したeasy_installやpipでは、ここまで高度なことができません。 そこで、以下に続きます。 requirements.txt という選択肢 私は最近までこのやり方を使っていました。 Python3でvenvを使うやり方だと以下のような手順です。 # 仮想環境を作成 python -m venv venv # 仮想環境に入る # MacOS/Linux ./venv/bin/activate # Windows ./venv/Scripts/activate # pipでパッケージインストール pip install # 現在インストールされているパッケージ群を書きだし pip freeze > requirements.txt ファイル名は何でも良いですが、一般的にこの名前が利用されているようです。 書き出したファイルには以下のように、ライブラリ名==インストールされたバージョンというフォーマットで記録されます。 requests==2.18.4 urllib3==1.22 ... インストール時は、読み込むrequirements.txtを指定してコマンドを実行します。 # pipでパッケージインストール pip install -r < requirements.txt 問題点