Ich programmiere hauptsächlich in Python 3.x unter Windows 7, aber jetzt muss ich die Python Imaging Library (PIL), ImageMagick und wxPython verwenden, für die Python 2.x erforderlich ist.
Kann ich Python 2.x und Python 3.x in Windows 7 installieren? Wie würde ich beim Ausführen eines Skripts "auswählen", welche Version von Python es ausführen soll? Können die oben genannten Programme mehrere gleichzeitig installierte Python-Versionen verarbeiten? Ich habe stundenlang gesucht, wie dies ohne Erfolg zu tun ist.
Vielen Dank.
Antworten:
Ich fand, dass der formale Weg, dies zu tun, wie folgt ist:
Installieren Sie einfach zwei (oder mehr, mit ihren Installationsprogrammen) Versionen von Python unter Windows 7 (für mich arbeiten Sie mit 3.3 und 2.7).
Befolgen Sie die nachstehenden Anweisungen und ändern Sie die Parameter entsprechend Ihren Anforderungen.
Erstellen Sie die folgende Umgebungsvariable (standardmäßig beim Doppelklick):
Fügen Sie zum Starten eines Skripts in einem bestimmten Interpreter den folgenden Shebang (Beginn des Skripts) hinzu:
Verwenden Sie den folgenden Eingabeaufforderungsbefehl, um ein Skript mit einem bestimmten Interpreter auszuführen:
So starten Sie einen bestimmten Interpreter:
So starten Sie den Standardinterpreter (definiert durch die Variable PY_PYTHON):
Ressourcen
Dokumentation: Verwenden von Python unter Windows
PEP 397 - Python Launcher für Windows
quelle
c:\python35;c:\python35\scripts;c:\python27\scripts;
. Dies ermöglicht die Verwendung vonpip2
/pip3
undeasy_install-2.7
/easy_install-3.5
anstelle vonpip
undeasy_install
.py -m pip install ...
. Fügen Sie nachher Schalter hinzu,py
um auszuwählen, unter welchem Python pip wie oben ausgeführt werden soll.Ich habe sowohl 2.7.6 als auch 3.3.4 heruntergeladen. Python 3.3.4 hat die Option, den Pfad in der Umgebungsvariablen hinzuzufügen, damit dies erledigt wurde. Im Grunde habe ich Python 2.7.6 einfach manuell hinzugefügt.
Wie man...
Start> Wählen Sie im Suchtyp in der Umgebung "Umgebungsvariablen in Ihrem Konto bearbeiten" 1 aus
Scrollen Sie nach unten zu Pfad, wählen Sie Pfad aus und klicken Sie auf Bearbeiten.
Fügen Sie C: \ Python27 hinzu; Sie sollten dort also Pfade zu beiden Versionen von Python haben, aber wenn Sie dies nicht tun, können Sie es einfach so bearbeiten, dass Sie es tun ..... C: \ Python27; C: \ Python33;
Navigieren Sie zum Ordner Python27 in C: \ und benennen Sie eine Kopie von python.exe in python2.exe um
Navigieren Sie zum Ordner Python34 in C: \ und benennen Sie eine Kopie von python.exe in python3.exe um
Test: Öffnen Sie die Eingabeaufforderung und geben Sie python2 ein .... BOOM! Python 2.7.6. Ausstieg.
Test: Öffnen Sie die Eingabeaufforderung und geben Sie python3 ein .... BOOM! Python 3.4.3. Ausstieg.
Hinweis: (Um die Pip-Befehle in Schritt 4 und 5 nicht zu unterbrechen, bewahren Sie die Kopie von python.exe im selben Verzeichnis wie die umbenannte Datei auf.)
quelle
Ich habe mehrere Versionen in Windows. Ich ändere nur den Exe-Namen der Version, die ich nicht standardmäßig verwende.
Bei Paketinstallationsprogrammen können Sie bei den meisten Exe-Installationsprogrammen die Python-Installation auswählen, um das Paket ebenfalls hinzuzufügen. Überprüfen Sie für die manuelle Installation die Option --prefix, um zu definieren, wo das Paket installiert werden soll:
http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme
quelle
pip3
undpip3.4
. (Es enthält es auch alspip
, aber ich würde denken, dass das Löschen alle Konflikte mit Python2 lösen sollte). Eigentlich habe ich keineC:\Python34\Scripts
in meinemPath
, also hatte ich keine Probleme mit Pip ...Wenn Sie Anaconda Python verwenden, können Sie problemlos verschiedene Umgebungen installieren.
Angenommen, Sie hatten Anaconda Python 2.7 installiert und wollten eine Python 3.4-Umgebung:
Dann, um die Umgebung zu aktivieren:
Und zu deaktivieren:
(Unter Linux sollten Sie verwenden
source activate py34
.)Links:
Laden Sie Anaconda Python herunter
Anweisungen für Umgebungen
quelle
Um eine beliebige Version von Python auf demselben System zu installieren und auszuführen, folgen Sie meiner Anleitung unten.
Angenommen, Sie möchten Python 2.x und Python 3.x auf demselben Windows-System installieren.
Installieren Sie beide Binärversionen an einer beliebigen Stelle.
Wenn Sie einfach den Befehl
python
ausführen, wird die ausführbare Datei, die zuerst in PATH ausgeführt wird, zum Starten ausgewählt. Mit anderen Worten, fügen Sie die Python-Verzeichnisse manuell hinzu. Die zuerst hinzugefügte wird bei der Eingabe ausgewähltpython
. Aufeinanderfolgende Python-Programme (zunehmende Reihenfolge, in der ihre Verzeichnisse in PATH abgelegt werden) werden wie folgt ausgewählt:python
python
etc ..Unabhängig von der Reihenfolge der "Pythons" können Sie:
In meinem Beispiel habe ich zuerst Python 2.7.14 und Python 3.5.3 installiert. So beginnt meine PATH-Variable mit:
PATH = C: \ Programme \ Microsoft MPI \ Bin \; C: \ Python27; C: \ Programme \ Python_3.6 \ Scripts \; C: \ Programme \ Python_3.6 \; C: \ ProgramData \ Oracle \ Java \ javapath; C: \ Programme (x86) \ Gemeinsame Dateien \ Intel \ Shared
...
Beachten Sie, dass Python 2.7 an erster Stelle und Python 3.5 an zweiter Stelle steht.
python
Wenn Sie also den Befehl ausführen, wird Python 2.7 gestartet (wenn Python 3.5 den gleichen Befehl Python 3.5 starten würde).py -2
Python 2.7 gestartet (da es vorkommt, dass der zweite Python Python 3.5 ist, mit dem nicht kompatibel istpy -2
). Durch Ausführen wirdpy -3
Python 3.5 gestartet (da es sich um Python 3.x handelt).py -4
. Dies kann sich ändern, wenn Python Version 4 veröffentlicht wird.Jetzt
py -4
oderpy -5
etc. auf meinen Systemausgängen:Requested Python version (4) not installed
oderRequested Python version (5) not installed
etc.Hoffentlich ist das klar genug.
quelle
pip
. Für jede andere installierte Python müssen Sie den Pfad manuell angeben, dh.C:\Python27\Scripts\pip.py [parameters]
. (Natürlich können Sie als Verknüpfung jede gewünschte Exe in eine Umgebungsvariable einfügen.)Ab Version 3.3 Die Windows-Version verfügt über Python Launcher. Weitere Informationen finden Sie in Abschnitt 3.4. Python Launcher für Windows
quelle
Folgendes können Sie tun:
Installieren Sie cmder . Öffnen und verwenden Sie Cmder wie bei Ihrem Cmd-Terminal. Verwenden Sie den Befehlsalias, um Befehlsaliasnamen zu erstellen.
Ich habe folgendes gemacht:
Und das ist es! ;-);
quelle
set-alias python2 c:\python27\python.exe
Ich habe eigentlich nur an eine interessante Lösung gedacht. Während Windows es Ihnen nicht erlaubt, Programme einfach zu aliasen, können Sie stattdessen umbenannte Batch-Dateien erstellen, die das aktuelle Programm aufrufen.
Erstellen Sie die Datei python2.bat im selben Verzeichnis wie python2.exe, anstatt die ausführbare Datei umzubenennen, die viele Probleme verursacht, einschließlich pip. Fügen Sie dann die folgende Zeile hinzu:
Was bedeutet diese archaische Syntax? Nun, es ist ein Batch-Skript (Windows-Version von Bash). % ~ dp0 ruft das aktuelle Verzeichnis ab und% * übergibt nur alle Argumente an Python, die an das Skript übergeben wurden.
Wiederholen Sie dies für python3.bat
Sie können dies auch für pip und andere Dienstprogramme tun. Ersetzen Sie einfach das Wort Python in der Datei durch pip oder den Dateinamen. Der Alias ist der Name der Datei.
Das Beste ist, dass Windows beim Hinzufügen zum PATH die so ausgeführte Erweiterung ignoriert
Startet die Python3-Version und der Befehl python2 startet die Python2-Version.
Übrigens ist dies die gleiche Technik, die Spyder verwendet, um sich dem Pfad unter Windows hinzuzufügen. :) :)
quelle
Sie können mehrere Versionen von Python auf einem Computer installieren und während des Setups festlegen, dass sich eine davon mit Python-Dateierweiterungen verknüpft. Wenn Sie Module installieren, gibt es verschiedene Setup-Pakete für verschiedene Versionen, oder Sie können auswählen, auf welche Version Sie abzielen möchten. Da sie sich im Allgemeinen selbst im Site-Packages-Verzeichnis der Interpreter-Version installieren, sollte es keine Konflikte geben (aber ich habe dies nicht getestet). Um auszuwählen, welche Python-Version Sie verwenden möchten, müssen Sie den Pfad zum Interpreter manuell angeben, wenn dies nicht der Standardpfad ist. Soweit ich weiß, würden sie dieselben PATH- und PYTHONPATH-Variablen verwenden, was ein Problem sein könnte.
Hinweis: Ich verwende Windows XP. Ich habe keine Ahnung, ob sich dies für andere Versionen ändert, aber ich sehe keinen Grund dafür.
quelle
Was ich auf meinem eigenen Windows-Computer getan habe, auf dem Python 2.7 und Python 3.4 installiert sind, ist, dass ich eine einfache .bat-Datei in dasselbe Verzeichnis geschrieben habe wie meine Python.exe-Dateien. Sie sehen ungefähr so aus,
Mit% * können Sie anschließend Argumente (Python-Dateien) hinzufügen. Ich glaube, / k hält die Eingabeaufforderung offen, nachdem das Skript ausgeführt wurde. Dann speichere ich das als python27.bat. Dann gehe ich in mein Python 3-Verzeichnis und erstelle dort eine Bat-Datei. Jetzt kann ich in meiner Kommandozeile schreiben
Oder
Und sie werden in ihren jeweiligen Versionen von Python ausgeführt. Stellen Sie sicher, dass sich c: \ python27 und c: \ python34 in Ihren Umgebungsvariablen befinden.
Ich habe meine Antwort von hier bekommen
quelle
Ich habe dies in drei Schritten getan, indem ich den Anweisungen hier gefolgt bin: Dies alles wird direkt von hier übernommen: http://ipython.readthedocs.io/en/stable/install/kernel_install.html . Ich verwende derzeit Python 2.x unter Windows 8 und habe Anaconda 4.2.13 installiert.
1) Installieren Sie zuerst die neueste Version von Python:
2) Aktivieren Sie als nächstes python3
3) Installieren Sie den Kernel:
Wenn Sie Python 3 installiert haben und 2 installieren möchten, wechseln Sie die 2 und die 3 oben. Wenn Sie ein neues Notizbuch öffnen, können Sie jetzt zwischen Python 2 und 3 wählen.
quelle
Überprüfen Sie Ihre Systemumgebungsvariablen nach der Installation von Python. Die Verzeichnisse von Python 3 sollten sich zuerst in Ihrer PATH-Variablen und dann in Python 2 befinden.
Welche Pfadvariable zuerst übereinstimmt, wird von Windows verwendet.
Wie immer startet py -2 in diesem Szenario python2.
quelle
Ich bin selbst auf dieses Problem gestoßen und habe meine Starter in einer .bat-Datei erstellt, damit Sie die Version auswählen können, die Sie starten möchten.
Das einzige Problem ist, dass sich Ihre .py im Python-Ordner befinden muss, aber hier ist der Code:
Für Python2
Für Python3
Speichern Sie sie als .bat und folgen Sie den Anweisungen im Inneren.
quelle
Installieren Sie die am häufigsten verwendete (in meinem Fall 3.3) über der anderen. Dadurch wird IDLE gezwungen, die gewünschte zu verwenden.
Alternativ (aus der Python3.3-README-Datei):
Mehrere Versionen installieren
Wenn Sie auf Unix- und Mac-Systemen mehrere Versionen von Python mit demselben Installationspräfix (Argument --prefix für das Konfigurationsskript) installieren möchten, müssen Sie darauf achten, dass Ihre primäre ausführbare Python-Datei nicht durch die Installation einer anderen Version überschrieben wird. Alle mit "make altinstall" installierten Dateien und Verzeichnisse enthalten die Haupt- und Nebenversion und können somit nebeneinander leben. "make install" erstellt auch $ {prefix} / bin / python3, das auf $ {prefix} /bin/pythonX.Y verweist. Wenn Sie mehrere Versionen mit demselben Präfix installieren möchten, müssen Sie entscheiden, welche Version (falls vorhanden) Ihre "primäre" Version ist. Installieren Sie diese Version mit "make install". Installieren Sie alle anderen Versionen mit "make altinstall".
Wenn Sie beispielsweise Python 2.6, 2.7 und 3.3 installieren möchten, wobei 2.7 die primäre Version ist, führen Sie "make install" in Ihrem Build-Verzeichnis 2.7 und "make altinstall" in den anderen Versionen aus.
quelle
Ich musste sie nur installieren. Dann habe ich die kostenlose (und tragbare) Software unter http://defaultprogramseditor.com/ unter "Dateitypeinstellungen" / "Kontextmenü" / search: "py" verwendet, die .py-Datei ausgewählt und einen Befehl 'open' für die Datei hinzugefügt 2 IDLE durch Kopieren des vorhandenen Befehls 'open with IDLE', Ändern der Namen in IDLE 3.4.1 / 2.7.8 und Ersetzen der Dateinummern der jeweiligen Versionen im Programmpfad. Jetzt muss ich nur noch mit der rechten Maustaste auf die .py-Datei klicken und auswählen, welchen IDLE ich verwenden möchte. Kann das gleiche mit direkten Dolmetschern tun, wenn Sie es vorziehen.
quelle
Funktioniert nur, wenn Sie Ihren Code in Ihrer Python-IDE ausführen
Ich habe sowohl Python 2.7 als auch Python 3.3 auf meinem Windows-Betriebssystem installiert. Wenn ich versuche, eine Datei zu starten, wird diese normalerweise in der Python 2.7-IDE geöffnet. Als ich dieses Problem unter Python 3.3 ausführte, öffnete ich Python 3.3 IDLE (Python GUI), wählte eine Datei aus, öffnete meine Datei mit dem IDLE und speicherte sie. Wenn ich dann meinen Code ausführe, wird er im IDLE ausgeführt, mit dem ich ihn gerade geöffnet habe. Es funktioniert umgekehrt mit 2.7.
quelle
Ich habe sowohl Python 2.7.13 als auch Python 3.6.1 unter Windows 10pro installiert und beim Versuch von pip2 oder pip3 wurde der gleiche "schwerwiegende Fehler" angezeigt.
Um dies zu korrigieren, ging ich zum Speicherort von python.exe für Python 2- und Python 3-Dateien und erstellte jeweils eine Kopie. Anschließend benannte ich jede Kopie in python2.exe und python3.exe um, abhängig von der Python-Version in der Installationsordner. Ich hatte daher in jedem Python-Installationsordner je nach Python-Version sowohl eine python.exe-Datei als auch eine python2.exe oder python3.exe.
Dies löste mein Problem, als ich entweder pip2 oder pip3 tippte.
quelle
Wenn Sie nichts anderes zum Laufen bringen können, öffnen Sie einen Interpreter in der von Ihnen gewählten Version (ich bevorzuge die Verwendung von iPython) und:
Dies verwendet die Python-Version, unter der Sie gerade arbeiten. Funktioniert gut für ein einzelnes Skript, gerät jedoch schnell außer Kontrolle, wenn viele Skripte ausgeführt werden. In diesem Fall können Sie jederzeit eine Batchdatei mit all diesen Aufrufen erstellen. Nicht die eleganteste Antwort, aber es funktioniert.
Gibt es eine Möglichkeit, Aliase für verschiedene Python-Versionen a la Linux zu erstellen?
quelle