Auf meinem Rechner waren zwei Versionen von Python 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.
Das Ausführen einer anderen Kopie von Python ist so einfach wie das Starten der richtigen ausführbaren Datei. Sie erwähnen, dass Sie eine Python-Instanz von der Befehlszeile aus gestartet haben, indem Sie einfach python
eingeben.
Unter Windows müssen Sie die Umgebungsvariable% PATH% durchsuchen und nach einer ausführbaren Datei (Batch-Datei (.bat)), einer Befehlsdatei (.cmd) oder einer anderen ausführbaren Datei suchen, die dem angegebenen Namen entspricht. Wenn es die richtige Datei zum Ausführen findet, wird es ausgeführt.
Wenn Sie jetzt zwei Python-Versionen 2.5 und 2.6 installiert haben, enthält der Pfad beide Verzeichnisse, etwa PATH=c:\python\2.5;c:\python\2.6
, aber Windows wird den Pfad nicht mehr überprüfen, wenn er eine Übereinstimmung findet.
Sie müssen unbedingt eine oder beide Anwendungen explizit aufrufen, z. B. c:\python\2.5\python.exe
oder c:\python\2.6\python.exe
.
Die andere Alternative besteht darin, eine Verknüpfung zu der jeweiligen python.exe zu erstellen, von der einer Python25 und der andere Python26 aufgerufen wird. Sie können dann einfach python25
in Ihrer Befehlszeile ausführen.
Zwei weitere Lösungen für das Problem hinzufügen:
#! c:\[path to Python 2.5]\python.exe
- für Skripts, die mit Python 2.5 ausgeführt werden sollen#! c:\[path to Python 2.6]\python.exe
- für Skripts, die mit Python 2.6 ausgeführt werden sollen
oder statt python
auszuführen, führen Sie den pylauncher-Befehl (py
) aus, und geben Sie an, welche Python-Version Sie verwenden möchten.
py -2.6
- Version 2.6py -2
- neueste installierte Version 2.xpy -3.4
- Version 3.4py -3
- neueste 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]
zum Beispiel
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 die erste aktivieren und so mit Python 2.5 arbeitenc:\venvs\2.5\activate
und wenn Sie zu Python 2.6 wechseln möchten, tun Sie dies
deactivate
c:\venvs\2.6\activate
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 den #!pythonX
verwenden, um die gewünschte Version des Interpreters auch unter Windows zu ermitteln. Weitere Details in meinem anderen Kommentar oder lesen Sie die PEP 397.
Summary: Der py script.py
startet die in #!
oder Python 2 angegebene Python-Version, falls #!
fehlt. Der py -3 script.py
startet den Python 3.
Wie bei @alexander können Sie wie folgt eine Reihe symbolischer Links erstellen. Platzieren Sie sie an einem Ort, der 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, in Ihrem Pfad befindet, können Sie jetzt gehen
> python25
Wenn Sie Python installieren, werden andere Installationen anderer Hauptversionen nicht überschrieben. Durch die Installation von Python 2.5.x wird Python 2.6.x jedoch nicht überschrieben. Durch die Installation von 2.6.6 wird jedoch 2.6.5 überschrieben.
Sie können es also einfach installieren. Dann rufen Sie die gewünschte Python-Version auf. Zum Beispiel:
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
auf Windows Unix (einschließlich Linux und OS X).
Bei der Installation unter Unix (einschließlich Linux und OS X) wird der generische Befehl python
installiert. Dies ist der letzte Befehl, den Sie installiert haben. Dies ist meistens kein Problem, da die meisten Skripten explizit /usr/local/bin/python2.5 oder etwas anderes aufrufen, um sich dagegen zu schützen. Wenn Sie das aber nicht tun wollen, können Sie es wahrscheinlich nicht so installieren:
./configure
make
Sudo make altinstall
Beachten Sie das "altinstall", dh es wird installiert, aber es ersetzt not den Befehl python
.
Unter Windows erhalten Sie, soweit ich weiß, keinen globalen python
-Befehl, daher ist dies kein Problem.
Hier ist ein kurzer Hack:
C:\Users\Your name
)name_of_your_shortcut.lnk
ein (ich verwende 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.
>>>
Die einfachste Möglichkeit, mehrere Versionen von Python unter Windows auszuführen, wird im Folgenden beschrieben: -
1) Laden Sie die neuesten Versionen von python von python.org/downloads herunter, indem Sie die für Ihr System relevante Version auswählen.
2) Führen Sie das Installationsprogramm aus und wählen Sie Add python 3.x zum Pfad, um den Pfad in Python 3 automatisch festzulegen (Sie müssen nur das Kontrollkästchen aktivieren). Öffnen Sie für Python 2 Ihr Python 2-Installationsprogramm. Wählen Sie die gewünschten Einstellungen aus. Denken Sie jedoch daran, Add python.exe unter Pfad auf zu setzen. Wird auf der lokalen Festplatte installiert. Klicken Sie nun auf Weiter und warten Sie auf das Installationsprogramm zu beenden.
3) Wenn beide Installationen abgeschlossen sind. Rechtsklick auf meinem Computer - Gehe zu Eigenschaften - Erweiterte Systemeinstellungen auswählen - Zu Umgebungsvariablen gehen - Klicken Sie unter Systemvariablen auf Neu und fügen Sie eine neue Systemvariable mit Variablenname als PY_PYTHON und setzen Sie diesen variablen Wert auf 3. Klicken Sie nun auf OK und Sie sollten fertig sein.
4) Um dies zu testen, öffnen Sie die Eingabeaufforderung command. Wenn Sie dort sind, geben Sie python oder py ein. Es sollte python3 geöffnet werden.
5) Verlassen Sie nun Python3, indem Sie exit () eingeben. Geben Sie nun py -2 ein. Es sollte Python 2 öffnen.
Wenn dies alles nicht funktioniert, starten Sie den Computer neu und wenn das Problem weiterhin besteht, deinstallieren Sie alles und wiederholen Sie die Schritte.
Vielen Dank.
Zum Beispiel für 3.6 geben Sie py -3.6
ein. Wenn Sie auch über 32-Bit- und 64-Bit-Versionen verfügen, können Sie einfach py -3.6-64
oder py -3.6-32
eingeben.
Ich hatte das gleiche Problem bei der Arbeit mit verschiedenen python Versionen, also habe ich mit dem 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/
Ich kann das Projekt pyenv-win nur empfehlen.
Dank der Arbeit von kirankotari haben wir jetzt eine Windows-Version von pyenv.
python installieren
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
Unter Verwendung einer Stapeldatei einfach und effizient unter Windows 7 zu wechseln. Ich verwende Folgendes:
Im Umgebungsvariablendialog (C:\Windows\System32\SystemPropertiesAdvanced.exe)
In der Sektion Benutzervariablen
% pathpython% wurde der Pfadumgebungsvariablen hinzugefügt
verweise auf Python-Pfade entfernt
In der Sektion Systemvariablen
Ich habe Batch-Dateien für jede Python-Installation erstellt (Beispiel für 3.4 x64)
Name = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-), um sich daran zu erinnern.
Inhalt der Datei =
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
Um zwischen den Versionen zu wechseln, führe ich die Batchdatei im Admin-Modus aus.
!!!!! Die Änderungen wirken sich auf die Eingabeaufforderungsfenster OPENED des Befehls SUBSEQUENT aus. !!!
Ich habe also genaue Kontrolle darüber.