web-dev-qa-db-ja.com

virtualenvを複製する方法

Virtualenvには既存の環境があり、多くのパッケージがありますが、古いDjangoバージョンです。

duplicateこの環境にしたい場合、
だから、新しいDjangoバージョン、
しかし、すでに他の環境にあるすべてのパッケージを保持していますか?

112
dolma33

最も簡単な方法は、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にインストールするバージョン)を言います。

最後に、new virtualenvをアクティブにして、次を実行します。

pip install -r requirements.txt

そして、pipは、requirements.txtファイルにリストされているすべてのpythonモジュールを、どのバージョンでも指定された!

156
rdegges

別のオプションは virtualenv-clone パッケージ:

再配置できないvirtualenvのクローンを作成するためのスクリプト。

24
alecxe

virtualenvwrapperは、 virtualenvを複製するコマンド を提供します

cpvirtualenv ENVNAME [TARGETENVNAME]
12
Raymond

Anaconda を使用している場合は、次を実行できます。

conda create --name myclone --clone myenv

これにより、myenvという新しい作成された環境にmycloneがコピーされます。

3
Jordan

単純にできないこと:

  • 既存の仮想envディレクトリを新しいディレクトリにコピーします
  • 新しいDjangoに更新しますか?
0
Spacedman