Ich hatte zwei Versionen von Python auf meinem Computer installiert (Versionen 2.6 und 2.5). Ich möchte 2.6 für ein Projekt und 2.5 für ein anderes ausführen.
Wie kann ich angeben, welche ich verwenden möchte?
Ich arbeite an Windows XP SP2.
Ich hatte zwei Versionen von Python auf meinem Computer installiert (Versionen 2.6 und 2.5). Ich möchte 2.6 für ein Projekt und 2.5 für ein anderes ausführen.
Wie kann ich angeben, welche ich verwenden möchte?
Ich arbeite an Windows XP SP2.
Antworten:
Das Ausführen einer anderen Python-Kopie ist so einfach wie das Starten der richtigen ausführbaren Datei. Sie erwähnen, dass Sie eine Python-Instanz über die Befehlszeile durch einfaches Eingeben gestartet haben python
.
Unter Windows wird die %PATH%
Umgebungsvariable durchsucht und nach einer ausführbaren Datei gesucht, entweder nach Batchdatei ( .bat
), Befehlsdatei ( .cmd
) oder einer anderen ausführbaren Datei (dies wird von der PATHEXT
Umgebungsvariablen gesteuert ), die dem angegebenen Namen entspricht. Wenn die richtige Datei zum Ausführen gefunden wird, wird die Datei ausgeführt.
Wenn Sie nun zwei Python-Versionen 2.5 und 2.6 installiert haben, enthält der Pfad beide Verzeichnisse. So etwas wie PATH=c:\python\2.5;c:\python\2.6
Windows überprüft den Pfad nicht mehr, wenn eine Übereinstimmung gefunden wird.
Was Sie wirklich tun müssen, ist, eine oder beide Anwendungen wie c:\python\2.5\python.exe
oder explizit aufzurufen c:\python\2.6\python.exe
.
Die andere Alternative besteht darin, eine Verknüpfung zu dem jeweiligen python.exe
aufrufenden einen von ihnen python25
und dem anderen zu erstellen python26
. Sie können dann einfach python25
auf Ihrer Befehlszeile ausführen .
Hinzufügen von zwei weiteren Lösungen für das Problem:
#! c:\[path to Python 2.5]\python.exe
- für Skripte, die mit Python 2.5 ausgeführt werden sollen
#! c:\[path to Python 2.6]\python.exe
- für Skripte, die mit Python 2.6 ausgeführt werden sollen
oder anstatt den python
Befehl auszuführen, führen Sie pylauncher command ( py
) aus und geben Sie an, welche Python-Version Sie möchten.
py -2.6
- Version 2.6
py -2
- zuletzt installierte Version 2.x
py -3.4
- Version 3.4
py -3
- zuletzt installierte Version 3.x.
virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]
virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]
beispielsweise
virtualenv -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
Dann können Sie das erste aktivieren und so mit Python 2.5 arbeiten.
c:\venvs\2.5\activate
Wenn Sie zu Python 2.6 wechseln möchten, tun Sie dies
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate
. Dies ist unter Windows 10 der Fall, wenn dies einen Unterschied macht. Davon abgesehen funktioniert es wie ein Zauber, danke.
Ab Python 3.3 gibt es den offiziellen Python-Launcher für Windows ( http://www.python.org/dev/peps/pep-0397/ ). Jetzt können Sie die verwenden #!pythonX
, um die gewünschte Version des Interpreters auch unter Windows zu ermitteln. Weitere Details finden Sie in meinem anderen Kommentar oder lesen Sie den PEP 397.
Zusammenfassung: Die py script.py
Starts der Python - Version in angegeben #!
oder Python 2 , wenn #!
fehlt. Das py -3 script.py
startet den Python 3.
.py
Erweiterung fest. Der Launcher selbst ist in C:\Windows
dem bereits installiert PATH
. Auf diese Weise muss auch die PATH
Variable nicht geändert werden.
Gemäß @alexander können Sie eine Reihe symbolischer Links wie unten erstellen. Platzieren Sie sie an einer Stelle, die in Ihrem Pfad enthalten ist, damit sie leicht aufgerufen werden können
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
Solange sich c: \ bin oder wo immer Sie sie platziert haben, auf Ihrem Weg befindet, können Sie jetzt gehen
> python25
mklink
ist nur nativ in Windows Vista / 2008 + verfügbar. Unter XP und Server 2003 kann stattdessen ein "Hardlink" erstellt werden fsutil hardlink create <new filename> <existing filename>
, indem der <neue Dateiname> verwendet und an eine beliebige Stelle in Ihrem Pfad verschoben wird. Hardlinks funktionieren jedoch nur auf demselben Laufwerk.
Installieren Sie Python
Umgebungsvariable
PYTHON2_HOME: C:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
Datei umbenennen
Pip
python2 -m pip install package
python3 -m pip install package
python
Befehl für das Betriebssystem verwirrend.
Zum Beispiel für den Versionstyp 3.6 py -3.6
. Wenn Sie auch 32-Bit- und 64-Bit-Versionen haben, können Sie einfach py -3.6-64
oder eingeben py -3.6-32
.
py
ausführbare Datei - ist es eine reine Windows-Ergänzung? Ist es möglich, dies in ein plattformübergreifendes Befehlszeilenskript zu integrieren, das oben steht: #!/usr/bin/env python3
zum Beispiel?
Wenn Sie Python installieren, werden andere Installationen anderer Hauptversionen nicht überschrieben. Durch die Installation von Python 2.5.x wird Python 2.6.x nicht überschrieben, obwohl durch die Installation von 2.6.6 2.6.5 überschrieben wird.
Sie können es also einfach installieren. Dann rufen Sie die gewünschte Python-Version auf. Beispielsweise:
C:\Python2.5\Python.exe
für Python 2.5 unter Windows und
C:\Python2.6\Python.exe
für Python 2.6 unter Windows oder
/usr/local/bin/python-2.5
oder
/usr/local/bin/python-2.6
unter Windows Unix (einschließlich Linux und OS X).
Bei der Installation unter Unix (einschließlich Linux und OS X) wird ein allgemeiner python
Befehl installiert, der der letzte ist, den Sie installiert haben. Dies ist meistens kein Problem, da die meisten Skripte explizit /usr/local/bin/python2.5 oder etwas anderes aufrufen, um sich dagegen zu schützen. Aber wenn Sie das nicht wollen und wahrscheinlich auch nicht, können Sie es so installieren:
./configure
make
sudo make altinstall
Beachten Sie die "Altinstallation", die bedeutet, dass sie installiert wird , den Befehl jedoch nicht ersetzt python
.
Unter Windows erhalten Sie meines Wissens keinen globalen python
Befehl, daher ist dies kein Problem.
C:\Python2.5
oder C:\Python2.6
in Ihrer PATH
Umgebungsvariablen angezeigt wird, wird die entsprechende Version von Python zum Standard, es sei denn, Sie überschreiben sie, indem Sie explizit einen anderen Pfad zur EXE-Datei angeben , die Sie verwenden möchten.
Ich kann das pyenv-win- Projekt nur empfehlen .
Dank kirankotari ‚s Arbeit, jetzt haben wir eine Windows - Version von pyenv.
Hier ist ein kurzer Hack:
C:\Users\Your name
)name_of_your_shortcut.lnk
(ich benutze p27.lnk
)cp c: \ python27 \ bin \ python.exe als python2.7.exe
cp c: \ python34 \ bin \ python.exe als python3.4.exe
Sie befinden sich alle im Systempfad. Wählen Sie die Version aus, die Sie ausführen möchten
C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>
C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Verwenden einer Batch-Datei zum Wechseln, einfach und effizient unter Windows 7. Ich verwende Folgendes:
Im Dialogfeld "Umgebungsvariable" (C: \ Windows \ System32 \ SystemPropertiesAdvanced.exe)
Im Abschnitt Benutzervariablen
% pathpython% zur Pfadumgebungsvariablen hinzugefügt
Verweise auf Python-Pfade wurden entfernt
Im Abschnitt Systemvariablen
Ich habe Batch-Dateien für jede Python-Installation erstellt (Beispiel für 3.4 x64
Name = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) nur um sich zu erinnern.
Inhalt der Datei =
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
Um zwischen Versionen zu wechseln, führe ich die Batchdatei im Admin-Modus aus.
!!!!! Die Änderungen werden für die Eingabeaufforderungsfenster SUBSEQUENT OPENED wirksam. !!!
Ich habe also die genaue Kontrolle darüber.
Der einfachste Weg, mehrere Versionen von Python unter Windows auszuführen, wird im Folgenden wie folgt beschrieben: -
1) Laden Sie die neuesten Versionen von Python von python.org/downloads herunter, indem Sie die entsprechende Version für Ihr System auswählen.
2) Führen Sie das Installationsprogramm aus und wählen Sie Python 3.x zum Pfad hinzufügen, um den Pfad in Python 3 automatisch festzulegen (Sie müssen nur das Kontrollkästchen aktivieren). Für Python 2 offen up Installer Ihre Python 2, wählen , was auch immer Vorlieben Sie wollen , aber nur zu Satz erinnern Add python.exe auf Weg zu Wird auf der lokalen Festplatte installiert , nun direkt neben klicken und für den Installateur bis zum Ende warten.
3) Wenn beide Installationen abgeschlossen sind. Rechtsklick auf meinem Computer - Gehen Sie zu Eigenschaften - Erweiterte Systemeinstellungen wählen - Zum Umgebungsvariablen - Klicken Sie auf Neues unter Systemvariablen und fügen Sie eine neue Systemvariable mit Variablennamen als PY_PYTHON und setzen Sie diese Variable Wert auf 3 . Klicken Sie nun auf OK und Sie sollten fertig sein.
4) Um dies zu testen, öffnen Sie die Eingabeaufforderung . Sobald Sie dort Art sind Python oder py , sollten Sie eröffnen python3 .
5) Beenden Sie nun python3, indem Sie exit () eingeben . Geben Sie nun py -2 ein , um Python 2 zu öffnen.
Wenn nichts davon funktioniert, starten Sie den Computer neu. Wenn das Problem weiterhin besteht, deinstallieren Sie alles und wiederholen Sie die Schritte.
Vielen Dank.
In Anaconda Navigator können Sie verschiedene Python-Entwicklungsumgebungen grafisch erstellen. Ich hatte das gleiche Problem bei der Arbeit mit verschiedenen Python-Versionen, daher habe ich mit anaconda navigator verschiedene Python-Entwicklungsumgebungen erstellt und in jeder Umgebung unterschiedliche Python-Versionen verwendet.
Hier ist die Hilfedokumentation dazu.
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
Mit dem Rapid Environment Editor können Sie das Verzeichnis der gewünschten Python-Installation nach oben verschieben. Um beispielsweise Python aus dem Verzeichnis c: \ Python27 zu starten, stellen Sie sicher, dass sich das Verzeichnis c: \ Python27 vor oder über dem Verzeichnis c: \ Python36 in der Umgebungsvariablen Path befindet. Nach meiner Erfahrung wird die erste ausführbare Python-Datei in der Path-Umgebung ausgeführt. Zum Beispiel habe ich MSYS2 mit Python27 installiert und da ich C: \ MSYS2 zum Pfad vor C: \ Python36 hinzugefügt habe, wird die Datei python.exe aus dem Ordner C: \ MSYS2 .... ausgeführt.
Rufen Sie einfach die richtige ausführbare Datei auf
python
die Shell zu betreten, versuchen Sie es python2.5
oder python2.6
. Ich bin kein Windows-Benutzer, aber unter Unix / usr / bin / python ist normalerweise ein Alias für die vollqualifizierte ausführbare Datei. Ich gehe davon aus, dass Python in Windows auf ähnliche Weise installiert wird