pythonのvenvでrequirements.txtを出力して他のvenv環境に移す方法

公開日:
目次

フォルダ名を変更したり誰かにライブラリの環境を渡したりするときに必要だけど、すぐに忘れてしまうので備忘録を残します。

venvの情報をrequirements.txtに移す

まずはvenvをactivateします。

venvのactivateする

Windows (PowerShell)の場合

下記の通りコマンドを入力します。

PowerShell
venvのフォルダパス/Scripts/activate

私の場合は.venvというフォルダ名で保存しているので、作業フォルダまで移動して下記のように起動しています。

PowerShell
.venv/Scripts/activate

Mac/Linux (bash)の場合

下記の通りコマンドを入力します。

bash
source venvのフォルダパス/bin/activate

私の場合は.venvというフォルダ名で保存しているので、作業フォルダまで移動して下記のように起動しています。

bash
source .venv/bin/activate

pipでrequirements.txtを出力する

venv環境中で下記の通りコマンドを入力します。

venv
pip freeze > requirements.txt

これで作業フォルダにrequirements.txtが生成されているはず(既にある場合は更新されているはず)です。

venvをdeactivateする

WindowsでもMac/Linuxでも下記の通りdeactivateできます。

deactivate

出力したrequirements.txtを他の環境に移す

先ほどと同様にvenvをactivateしてください。

また先ほど作成したrequirements.txtが作業用フォルダに必要です。

pipでrequirements.txtからライブラリを読み込む

venv環境中で下記の通りコマンドを入力するとrequirements.txtからライブラリを読み込むことができます。

venv
pip install -r requirements.txt

これで他の環境中に同一のライブラリを導入できました。