Für Python 3.3+ (mit neuem venv
integrierten Modul)
Kurze Antwort (unabhängig von der Version):
- Es gibt keine saubere und direkte Möglichkeit, eine virtuelle Umgebung zu verschieben
- Einfach neu erstellen, es ist einfach !!
Lange Antwort:
Ab Python v3.3 wurde virtualenv
ein integriertes Modul mit dem Namen venv
.
Die --relocatable
in anderen Antworten erwähnte Option wurde nicht berücksichtigt venv
, und derzeit gibt es keine gute und sichere Möglichkeit, eine virtuelle Python-Umgebung umzubenennen oder zu verschieben.
Es gibt jedoch eine ziemlich einfache Möglichkeit, eine virtuelle Umgebung mit all ihren aktuell installierten Paketen einfach neu zu erstellen. Informationen zum Wiederherstellen einer virtuellen Umgebung finden Sie in dieser Antwort oder im folgenden Abschnitt. Während des Vorgangs können Sie die neue Umgebung an einem beliebigen Ort und mit einem beliebigen Namen neu erstellen. Oder lesen Sie den folgenden Abschnitt für den Vorgang.
In dieser Antwort erwähnt er einige andere Pakete von Drittanbietern, die direkte Umbenennungen oder Verschiebungen unterstützen können. Wenn Sie sich dazu entschließen, eine virtuelle Umgebung intakt zu halten, können Sie prüfen, ob diese auch funktionieren venv
.
Hinweis: In dieser Antwort wird virtualenv
eher auf als auf konzentriert venv
. Weiter unten erfahren Sie, wie Sie übersetzen.
venv
ältere virtualenv
Befehlssyntax
Der zu verwendende Befehl venv
lautet:
python -m venv
anstatt nur virtualenv
, was als Befehl im Originalpaket installiert wird. Wobei sich "Python" darauf bezieht, wie auch immer Sie Ihre ausführbare Python-Datei ausführen. Dies kann eine Vielzahl von Dingen sein, wie zum Beispiel:
python
py
oder py -3.7
ähnlich (der Python Launcher für Windows für Python 3.3+ und Windows derzeit nur)
python3
(Konvention für Linux-Umgebungen, in denen Python 2 und 3 doppelt installiert werden)
- Wenn Sie Probleme haben, verwenden Sie den absoluten Pfad zu der ausführbaren Python-Datei, die Sie ausführen möchten: z
c:\program files\python37\python.exe
Wenn Sie sich nicht sicher sind, welche Version ausgeführt wird, können Sie dies jederzeit python --version
herausfinden.
So erstellen Sie eine virtuelle Umgebung neu
Das Erstellen / Neuerstellen einer virtuellen Umgebung ist einfach und sollte zur zweiten Natur werden, nachdem Sie ein wenig mit ihnen gearbeitet haben. Dieser Prozess spiegelt wider, was Sie tun würden, um Ihr Skript als Paket (mit seinen Abhängigkeiten) in der ersten Hälfte zu verteilen, und was dann jemand tun würde, um Ihr Skript / Paket für die weitere Entwicklung zu installieren.
Holen Sie sich zunächst eine aktualisierte Liste der Inhalte in der virtuellen Umgebung. Wenn es aktiv ist, rufen Sie die verwendete Python-Version ab und speichern Sie die Liste der Abhängigkeiten in einer Datei.
Verwenden Sie diese Option python --version
bei aktivierter virtueller Umgebung, um zu sehen, welche Python-Version verwendet wird.
- Dies dient der Übersichtlichkeit. Möglicherweise möchten Sie die Python-Version aus verschiedenen Gründen aktualisieren - zumindest auf die neueste Patch-Version
- Wenn das vorhandene venv beispielsweise Python v3.7.4 verwendet, jetzt aber v3.7.6 nicht mehr verfügbar ist, verwenden Sie stattdessen v3.7.6, das nur fehlerfreie Sicherheits- und Fehlerkorrekturen enthalten sollte.
Verwenden Sie python -m pip freeze > requirements.txt
diese Option , um die Liste der aktuellen Paketabhängigkeiten zu erstellen und in die requirements.txt
Datei einzufügen. Dieser Befehl funktioniert sicher unter Linux oder Git Bash - nicht 100% sicher über Powershell oder Command Line unter Windows.
Erstellen Sie nun eine neue virtuelle Umgebung und fügen Sie die Abhängigkeiten von der alten hinzu.
Mach dein neues Venv.
- Stellen Sie sicher, dass Sie die richtige Version von Python verwenden, die Sie auf dem venv installieren möchten.
- Wenn Sie möchten, dass es genau dieselbe Python-Version ist:
- Führen Sie Python direkt aus der aktuellen virtuellen Umgebung aus (bei aktivierter Umgebung) und verwenden Sie es einfach
python
als Befehl
- Oder verwenden Sie einen absoluten Pfad mit
python.exe
im Ordner für die virtuelle Umgebung
- Für den neuen venv-Ordnereintrag im Befehl:
- Fügen Sie dem gewünschten endgültigen Ordner einen absoluten oder relativen Pfad hinzu.
- Verwenden Sie
python -m venv my_new_venv
diese Option , um eine neue virtuelle Umgebung im aktuellen Arbeitsverzeichnis in einem neuen my_new_venv
Ordner zu erstellen .
- Der Name des venv-Ordners ist der Name des venv (was in der Eingabeaufforderung angezeigt wird, wenn es aktiviert ist).
Installieren Sie Ihre Abhängigkeiten aus der requirements.txt
Datei.
python -m pip install -r requirements.txt
Möglicherweise müssen Sie lokale Pakete neu installieren, die sich im Entwicklungsmodus befinden.
Hinweis: Wenn Sie jemals den Speicherort anzeigen müssen, an dem ein Paket installiert ist, verwenden Sie:
python -m pip list -v
- Mit der
-v
Option oder "ausführlich" werden einige zusätzliche Informationen zu jedem installierten Paket hinzugefügt, einschließlich des Pfads, in dem es installiert ist. Dies ist nützlich, um sicherzustellen, dass virtuelle, Benutzer- und Systeminstallationspakete gerade bleiben.
An dieser Stelle können Sie einfach den alten venv-Ordner und alle Inhalte löschen. Ich empfehle, dafür eine grafische Benutzeroberfläche zu verwenden. Das Löschen von Dateien über die Linux-Befehlszeile ist häufig dauerhaft, und ein kleiner Tippfehler kann eine schlechte Nachricht sein.