多くのパッケージを含む既存のvirtualenvがありますが、古いバージョンのDjangoがあります。
私がやりたいのは、この環境を複製することです。そのため、まったく同じパッケージを使用しているが、Djangoのバージョンが新しい別の環境があります。これどうやってするの?
virtualenv -p /path/to/older/venv/bin/python new_venv、その後requirements.txt生成した環境を使用できますpip freeze
多くのパッケージを含む既存のvirtualenvがありますが、古いバージョンのDjangoがあります。
私がやりたいのは、この環境を複製することです。そのため、まったく同じパッケージを使用しているが、Djangoのバージョンが新しい別の環境があります。これどうやってするの?
virtualenv -p /path/to/older/venv/bin/python new_venv、その後requirements.txt生成した環境を使用できますpip freeze
回答:
最も簡単な方法は、pipを使用して要件ファイルを生成することです。要件ファイルは、基本的に、インストールするすべてのpythonパッケージ(またはpipで生成されたファイルの場合はすでにインストール済み)のリストとそれらのバージョンのバージョンを含むファイルです。
要件ファイルを生成するには、元のvirtualenvに移動して、次を実行します。
pip freeze > requirements.txt
これにより、requirements.txtファイルが生成されます。そのファイルをお好きなテキストエディタで開くと、次のように表示されます。
Django==1.3
Fabric==1.0.1
etc...
さて、編集という行Django==x.xと言ってDjango==1.3(または任意のバージョン、あなたの新しいvirtualenvの中にインストールしたいです)。
最後に、新しい virtualenvをアクティブにして実行します。
pip install -r requirements.txt
そして、pipは、requirements.txtファイルにリストされているすべてのpythonモジュールを、指定したバージョンで自動的にダウンロードしてインストールします。
Could not find a version that satisfies the requirement a_package=#.#.#ます簡単に解決できますか?行を削除するか、等式を不等式に変更しました。
pyenvだけでなく、。素晴らしい答え。
別のオプションは、virtualenv-cloneパッケージを使用することです:
再配置不可能なvirtualenvを複製するためのスクリプト。
virtualenv-clonevirtualenvをアクティブ化した後にインストールしたことを確認してください
virtualenvwrappervirtualenvを複製するコマンドを提供します
cpvirtualenv ENVNAME [TARGETENVNAME]
最も簡単なオプションは、virtualenv-cloneパッケージを使用することです。
に複製venv1するにはvenv2、次の手順に従います。
またはダミーの仮想環境にインストールvirtualenv-cloneしvenv1ますvenv_dummy。作成するにはvenv_dummy:
python -m virtualenv venv_dummy
source venv_dummy/bin/activateインストールするにはvirtualenv-clone:
(venv_dummy): pip install virtualenv-clone複製venv1するにはvenv2:
(venv_dummy): virtualenv-clone venv1/ venv2/bin/activateこの回答に従えば、編集する必要はありません。なぜ編集しなければならないのですbin/activateか?
bin/activate
単純にできませんか: