5

virtualenvwrapper を使用して、1 つの virtualenv に Django をインストールしました。今はその環境の外に到達することはできません。virtualenv の外側と新しい virtualenv の内側の両方で、新しい Django プロジェクトを開始できるようにしたいと考えています。

Django を再インストールする必要がありますか、それとも最初の virtualenv からインストールをインポートできますか?

4

4 に答える 4

2

新しい virtualenv でゼロから始めることをお勧めします。それがそれらが構築される理由です: 1 つの virtualenv は Django の 1 つのバージョンを使用するプロジェクトを収容できますが、別のプロジェクトは Django の別のバージョンを使用できます (おそらく、使用しているアプリがまだ動作しないため、古いバージョン)新しいバージョン)。

同じ環境を完全に再作成しようとしている場合 (おそらく別の場所でプロジェクトを実行したいため)、alexcxe の回答で pip のフリーズを使用できます。これにより、まったく同じバージョンのインストールが試行され、すべてが最初から再インストールされます。最初の段落で述べた理由により、これを実行したい場合と実行したくない場合があります。

これが仮想環境の要点です。私のコンピューターには 20 の異なるプロジェクトがあり、それぞれに独自の virtualenv があります。この方法で作業することはかなり一般的です。

于 2013-09-13T21:15:28.410 に答える
1

最も簡単な方法はfreeze、要件を満たしてrequirements.txtから新しい virtualenv にインストールすることです。

pip freeze > requirements.txt
pip install -r requirements.txt

もう 1 つのオプションは、仮想環境を再配置可能にして、新しい環境が必要になるたびにコピーすることです。これを行うのはやや難しいです。次を参照してください。

参考までに、virtualenvwrapper にはcpvirtualenvコマンドがありますが、注意して使用する必要があります。

仮想環境のコピーは十分にサポートされていません。各 virtualenv にはパス情報がハードコーディングされており、コピー コードが特定のファイルを更新することを認識していない場合があります。注意して使用してください。

于 2013-09-13T21:00:24.020 に答える
0

virtualenvwrapper のadd2virtualenvコマンドを使用できます。

于 2013-09-13T21:07:48.947 に答える
0

インターネット接続が良好な場合は、新しい Virtualenv インスタンスごとに django (またはその他) をインストールしても問題ない可能性があります。ただし、既存の virtualenv パッケージを新しいものにコピーしたい場合は、次の手順 (添付の写真) を実行するだけで、空の virtualenv を作成し、すべてのサイト パッケージを新しいものにコピーできます。

上の図は、virtualenv を別のディレクトリに移動することに関するものです。これにより、それが壊れます。 しかし、既存のパッケージで新しい virtualenv を作成することの本質は同じです

于 2013-11-21T00:04:58.757 に答える