私は virtualenv を初めて使用しますが、django アプリを書いており、最終的には何らかの方法でデプロイする必要があります。
では、必要なライブラリをすべてインストールしたローカルの仮想環境でアプリが動作していると仮定します。今やりたいことは、何らかのスクリプトを実行して仮想環境を取得し、内部に何がインストールされているかを確認し、他のマシンの新しい仮想環境にこれらすべてのライブラリをインストールするスクリプトを生成することです。どうすればいいでしょうか? 助けてください。
ベストアンサー1
仮想環境をコピー&ペーストするのではなく、インストールされているすべてのパッケージのリストを次のようにエクスポートします。
pip freeze > requirements.txt
次に、requirements.txt
コードをデプロイしたい場所にファイルをプッシュし、開発マシンで行ったことと同じことを実行します。
$ virtualenv <env_name>
$ source <env_name>/bin/activate
(<env_name>)$ pip install -r path/to/requirements.txt
これで、すべてのパッケージが正確なバージョンでインストールされます。
また、以下もご覧くださいファブリックこのタスクを自動化するには、次のような関数を使用します。
def pip_install():
with cd(env.path):
with prefix('source venv/bin/activate'):
run('pip install -r requirements.txt')