virtualenvwrapper を使用して、1 つの virtualenv に Django をインストールしました。今はその環境の外に到達することはできません。virtualenv の外側と新しい virtualenv の内側の両方で、新しい Django プロジェクトを開始できるようにしたいと考えています。
Django を再インストールする必要がありますか、それとも最初の virtualenv からインストールをインポートできますか?
virtualenvwrapper を使用して、1 つの virtualenv に Django をインストールしました。今はその環境の外に到達することはできません。virtualenv の外側と新しい virtualenv の内側の両方で、新しい Django プロジェクトを開始できるようにしたいと考えています。
Django を再インストールする必要がありますか、それとも最初の virtualenv からインストールをインポートできますか?
新しい virtualenv でゼロから始めることをお勧めします。それがそれらが構築される理由です: 1 つの virtualenv は Django の 1 つのバージョンを使用するプロジェクトを収容できますが、別のプロジェクトは Django の別のバージョンを使用できます (おそらく、使用しているアプリがまだ動作しないため、古いバージョン)新しいバージョン)。
同じ環境を完全に再作成しようとしている場合 (おそらく別の場所でプロジェクトを実行したいため)、alexcxe の回答で pip のフリーズを使用できます。これにより、まったく同じバージョンのインストールが試行され、すべてが最初から再インストールされます。最初の段落で述べた理由により、これを実行したい場合と実行したくない場合があります。
これが仮想環境の要点です。私のコンピューターには 20 の異なるプロジェクトがあり、それぞれに独自の virtualenv があります。この方法で作業することはかなり一般的です。
最も簡単な方法はfreeze
、要件を満たしてrequirements.txt
から新しい virtualenv にインストールすることです。
pip freeze > requirements.txt
pip install -r requirements.txt
もう 1 つのオプションは、仮想環境を再配置可能にして、新しい環境が必要になるたびにコピーすることです。これを行うのはやや難しいです。次を参照してください。
参考までに、virtualenvwrapper にはcpvirtualenvコマンドがありますが、注意して使用する必要があります。
仮想環境のコピーは十分にサポートされていません。各 virtualenv にはパス情報がハードコーディングされており、コピー コードが特定のファイルを更新することを認識していない場合があります。注意して使用してください。
virtualenvwrapper のadd2virtualenvコマンドを使用できます。
インターネット接続が良好な場合は、新しい Virtualenv インスタンスごとに django (またはその他) をインストールしても問題ない可能性があります。ただし、既存の virtualenv パッケージを新しいものにコピーしたい場合は、次の手順 (添付の写真) を実行するだけで、空の virtualenv を作成し、すべてのサイト パッケージを新しいものにコピーできます。