Ich habe eine vorhandene virtuelle Umgebung mit vielen Paketen, aber einer alten Version von Django.
Ich möchte diese Umgebung duplizieren, damit ich eine andere Umgebung mit genau denselben Paketen, aber einer neueren Version von Django habe. Wie kann ich das machen?
python
django
virtualenv
dolma33
quelle
quelle
virtualenv -p /path/to/older/venv/bin/python new_venv
requirements.txt
pip freeze
Antworten:
Am einfachsten ist es, mit pip eine Anforderungsdatei zu generieren. Eine Anforderungsdatei ist im Grunde eine Datei, die eine Liste aller Python-Pakete enthält, die Sie installieren möchten (oder bei einer von pip generierten Datei bereits installiert haben), und welche Versionen sie haben.
Um eine Anforderungsdatei zu generieren, rufen Sie Ihre ursprüngliche virtuelle Umgebung auf und führen Sie Folgendes aus:
Dadurch wird die Erzeugung requirements.txt Datei für Sie. Wenn Sie diese Datei in Ihrem bevorzugten Texteditor öffnen, sehen Sie Folgendes:
Nun bearbeiten die Zeile , die sagt
Django==x.x
zu sagenDjango==1.3
(oder was auch immer Version möchten Sie in Ihrem neuen virtualenv installieren).Zuletzt aktivieren Sie Ihre neue virtuelle Umgebung und führen Sie Folgendes aus:
Und pip wird automatisch heruntergeladen und alle das Python - Module in Ihrer aufgelistet installiert requirements.txt Datei, egal auf welchen Versionen von Ihnen angegebenen!
quelle
Could not find a version that satisfies the requirement a_package=#.#.#
Kann ich es leicht lösen? Ich habe eine Zeile entfernt oder die Gleichheit in die Ungleichung geändert.pyenv
. Tolle Antwort.Eine andere Option ist die Verwendung von
virtualenv-clone
package:quelle
virtualenv-clone
Stellenvirtualenvwrapper
bietet einen Befehl zum Duplizieren von virtualenvquelle
Wenn Sie Anaconda verwenden , können Sie einfach Folgendes ausführen:
Dies wird
myenv
in die neu erstellte Umgebung namens kopiertmyclone
.quelle
Die einfachste Option ist die Verwendung eines
virtualenv-clone
Pakets.Gehen Sie folgendermaßen
venv1
vorvenv2
, um zu duplizieren :Installieren Sie
virtualenv-clone
in einervenv1
oder einer virtuellen Dummy-Umgebungvenv_dummy
. So erstellen Sievenv_dummy
:So installieren Sie
virtualenv-clone
:Duplizieren
venv1
zuvenv2
:quelle
bin/activate
wenn Sie dieser Antwort folgen. Warum musst du bearbeitenbin/activate
?bin/activate
Kannst du nicht einfach:
quelle