【Python】venv仮想環境を別PCへ移設・コピーする方法|requirements.txt完全ガイド

2021年6月17日

「仮想環境ごとプロジェクトを別のPCに移設したい」「開発環境をチームメンバーと共有したい」という場面は開発でよくあります。

venvフォルダをそのままコピーしてもパスが変わって動かなくなるため、pip freeze で依存ライブラリ一覧を書き出し、移行先で再インストールする方法が確実です。本記事ではその手順を詳しく解説します。

「移設」「移行」「コピー」いずれの場合も手順は同じです。

STEP1: ライブラリ一覧を書き出す(コピー元PC)

まずコピー元の仮想環境を有効にして、インストール済みライブラリの一覧を requirements.txt に書き出します。

# 仮想環境を有効にする(Mac/Linux)
. venv/bin/activate

# インストール済みライブラリをファイルに書き出す
pip freeze > requirements.txt

実行後、プロジェクトフォルダに requirements.txt が生成されます。このファイルを移行先PCに渡します(Git管理している場合はそのままコミットするのが便利です)。

STEP2: 移行先PCでvenv仮想環境を作成する

移行先PCでプロジェクトフォルダに移動し、新たにvenv仮想環境を作成します。

python3 -m venv venv

Windowsの場合は pythonpython3 ではなく)になることがあります。

STEP3: 仮想環境を有効にする

OSに応じて以下のコマンドで仮想環境を有効化します。

# Windows の場合
venv\Scripts\activate

# Mac / Linux の場合
. venv/bin/activate

有効化に成功すると、ターミナルのプロンプト先頭に (venv) と表示されます。

STEP4: ライブラリをまとめてインストールする

コピー元から持ってきた requirements.txt をプロジェクトフォルダに置き、以下を実行します。

pip install -r requirements.txt

一覧に記載されたすべてのライブラリが自動でインストールされます。完了後に pip list で確認するとよいでしょう。

よくある質問

venvフォルダをそのままコピーすればいいのでは?

venvフォルダにはPythonの絶対パスが埋め込まれているため、別のPCにそのままコピーするとパスが合わず動作しません。requirements.txt を使った再インストール方式が確実です。

requirements.txt の生成でエラーが出る場合は?

仮想環境が有効になっていない可能性があります。(venv) がプロンプトに表示されているか確認してから再実行してください。

インストール中に「バージョンが見つからない」エラーが出る場合は?

コピー元と移行先でPythonのバージョンが異なる場合に発生しやすいです。バージョンを揃えるか、requirements.txt 内の該当ライブラリのバージョン指定を削除して再実行してみてください。

GitでrequiremeNts.txtを管理するメリットは?

Gitリポジトリに requirements.txt を含めておくと、git clone 後に pip install -r requirements.txt を実行するだけで環境が揃います。チーム開発や本番サーバーへのデプロイ時にも役立ちます。

移設先のOSが異なる場合(WindowsからMacなど)は?

OSをまたいだ移設でも基本手順は同じです。ただしOSネイティブのライブラリ(例:pywin32など)が含まれる場合はインストールエラーになるため、requirements.txt から該当行を削除して再実行してください。

python

Posted by Next-k