Ich verwende Windows und die Shell / das Betriebssystem führt Python automatisch basierend auf den Registrierungseinstellungen aus, wenn Sie ein Programm in der Befehlszeile ausführen. Wird dies unterbrochen, wenn ich eine 2.x- und 3.x-Version von Python auf demselben Computer installiere?
Ich möchte mit Python 3 spielen, während ich weiterhin 2.x-Skripte auf demselben Computer ausführen kann.
/usr/bin/python
und Python 3.3 um installiert/usr/bin/python3
. Gibt auch Python und IPython unterschiedliche Namen für Python3. Sehr praktisch.Antworten:
Die offizielle Lösung für die Koexistenz scheint der Python Launcher für Windows , PEP 397, zu sein, der in Python 3.3.0 enthalten war . Installieren der Release-Dumps
py.exe
undpyw.exe
-Starter in%SYSTEMROOT%
(C:\Windows
), die dannpy
bzw.pyw
Skripten zugeordnet sind.Lassen Sie die Option "Erweiterungen registrieren" aktiviert, um den neuen Launcher zu verwenden (ohne manuell eigene Zuordnungen zu ihm einzurichten). Ich bin mir nicht ganz sicher warum, aber auf meinem Computer blieb Py 2.7 als "Standard" (des Launchers).
Wenn Sie Skripte ausführen, indem Sie sie direkt über die Befehlszeile aufrufen, werden sie durch den Launcher geleitet und der Shebang analysiert (falls vorhanden). Sie können den Launcher auch explizit aufrufen und Schalter verwenden :
py -3 mypy2script.py
.Alle Arten von Schebangs scheinen zu funktionieren
#!C:\Python33\python.exe
#!python3
#!/usr/bin/env python3
sowie mutwillige Missbräuche
#! notepad.exe
quelle
py.exe
sollte Py3 standardmäßig über Py2 gestartet werden, wenn keine Version angegeben ist und die Datei keine Shebang-Zeile enthältwhere.exe pip
. Ich denke, das Python 3-Installationsprogramm installiert einenpip3
Alias für seinen Pip, aber Sie könnten auch so etwas tun, wiepy -3 -m pip install requests
ich denke.Hier ist mein Setup:
C:\Python34
(dem Standardinstallationspfad) und ändern Sie python.exe in python3.exeC:\Python27\;C:\Python27\Scripts\;C:\Python34\;C:\Python34\Scripts\;
Jetzt können Sie in der Befehlszeile
python
für 2.7 undpython3
für 3.4 verwenden.quelle
pip
cli?pip
undpip3
jeweils.Sie können beide installiert haben.
Sie sollten dies vor Ihr Skript schreiben:
oder schließlich ...
Aktualisieren
Meine Lösung funktioniert perfekt mit Unix. Nach einer schnellen Suche bei Google ist hier die Windows-Lösung:
Gleiches: vor Ihrem Drehbuch.
quelle
Ab Version 3.3 führte Python das Dienstprogramm Launcher für Windows https://docs.python.org/3/using/windows.html#python-launcher-for-windows ein .
Um mehrere Versionen von Python verwenden zu können:
quelle
py -3 filename.py
.Ich verwende 2.5, 2.6 und 3.0 aus der Shell mit einzeiligen Batch-Skripten des Formulars:
Nennen Sie sie
pythonX.Y.bat
und setzen Sie sie irgendwo in Ihren Pfad. Kopieren Sie die Datei für die bevorzugte Nebenversion (dh die neueste) nachpythonX.bat
. (ZBcopy python2.6.bat python2.bat
) Dann können Siepython2 file.py
von überall aus verwenden.Dies hilft jedoch nicht oder beeinflusst nicht einmal die Windows-Dateizuordnungssituation. Dazu benötigen Sie ein Launcher-Programm, das die
#!
Zeile liest und diese dann mit .py- und .pyw-Dateien verknüpft.quelle
Wenn Sie beide zu Umgebungsvariablen hinzufügen, liegt ein Konflikt vor, da die beiden ausführbaren Dateien denselben Namen haben :
python.exe
.Benennen Sie einfach einen von ihnen um. In meinem Fall habe ich es umbenannt in
python3.exe
.Wenn ich
python
es ausführepython.exe
, wird es ausgeführt, was 2.7 ist, und wenn ichpython3
es ausführepython3.exe
, wird es ausgeführt, was 3.6 istquelle
Fatal error in launcher: Unable to create process using '"c:\users\<my_username>\appdata\local\programs\python\python37-32\python.exe" "C:\Users\<my_username>\AppData\Local\Programs\Python\Python37-32\Scripts\pip.exe" '
.Bitte schön...
winpylaunch.py
Ich habe das gerade beim Lesen dieses Threads durcheinander gebracht (weil es das ist, was ich auch brauchte). Ich habe Pythons 2.6.1 und 3.0.1 unter Ubuntu und Windows. Wenn es bei Ihnen nicht funktioniert, veröffentlichen Sie hier Korrekturen.
quelle
sys.exit(process.returncode)
, den Exit-Status des aufgerufenen Skripts an den Aufrufer weiterzugeben.Soweit ich weiß, läuft Python mit der PATH-Variablen im Gegensatz zu einer Registrierungseinstellung über die Befehlszeile.
Wenn Sie also auf Ihrem PATH auf die richtige Version verweisen, werden Sie diese verwenden. Denken Sie daran, Ihre Eingabeaufforderung neu zu starten, um die neuen PATH-Einstellungen zu verwenden.
quelle
Die Python - Installation normalerweise zuordnet
.py
,.pyw
und.pyc
Dateien , die mit dem Python - Interpreter. Sie können ein Python-Skript also ausführen, indem Sie entweder im Explorer darauf doppelklicken oder seinen Namen in ein Befehlszeilenfenster eingeben (Sie müssen also nicht eingebenpython scriptname.py
, es reicht einfach ausscriptname.py
).Wenn Sie diese Zuordnung manuell ändern möchten, können Sie diese Schlüssel in der Windows-Registrierung bearbeiten:
Python Launcher
Die Menschen wurden für Windows auf einem Python Launcher arbeiten: ein leichtes Programm zugeordnet
.py
und.pyw
Dateien , die für eine „shebang“ Linie aussehen würde (ähnlich wie Linux et al) in der ersten Zeile, und starten Sie Python 2.x oder 3.x als erforderlich. Weitere Informationen finden Sie im Blogbeitrag "Ein Python Launcher für Windows" .quelle
Versuchen Sie es mit Anaconda.
Angenommen, Sie benötigen Python 3, um das Programmieren zu erlernen, aber Sie möchten Ihre Python 2.7-Umgebung nicht durch Aktualisieren von Python löschen. Sie können eine neue Umgebung mit dem Namen "snakes" (oder was auch immer Sie möchten) erstellen und aktivieren und die neueste Version von Python 3 wie folgt installieren:
Es ist einfacher als es sich anhört. Schauen Sie sich die Intro-Seite hier an: Erste Schritte mit Anaconda
Weitere Informationen zu Ihrem spezifischen Problem, dass Version 2.x und 3.x nebeneinander ausgeführt werden, finden Sie unter: Verwalten von Python-Versionen mit Anaconda
quelle
Hier erfahren Sie, wie Sie Python 2 und 3 auf demselben Computer ausführen
Der Python Launcher für Windows wurde seit Version 3.3 in Python eingebettet, wie 2011 versprochen, als der Stand Alone erstmals vorgestellt wurde:
Python Launcher für Windows
quelle
Hier ist eine saubere und saubere Möglichkeit, Python2 und Python3 unter Windows zu installieren.
https://datascience.com.co/how-to-install-python-2-7-and-3-6-in-windows-10-add-python-path-281e7eae62a
Mein Fall: Ich musste Apache Cassandra installieren. Ich hatte Python3 bereits auf meinem Laufwerk D: installiert . Mit viel Entwicklungsarbeit wollte ich meine Python3-Installation nicht durcheinander bringen. Und ich brauchte Python2 nur für Apache Cassandra.
Also habe ich folgende Schritte unternommen:
C:\Python27;C:\Python27\Scripts
) hinzugefügtpython2 --version
) und Python 3 (python --version
).Meine Python3-Installation blieb also erhalten.
quelle
Ich denke, es gibt eine Option, um die Windows-Dateizuordnung für .py-Dateien im Installationsprogramm einzurichten. Deaktivieren Sie es und es sollte Ihnen gut gehen.
Wenn nicht, können Sie .py-Dateien problemlos wieder mit der vorherigen Version verknüpfen. Am einfachsten ist es, mit der rechten Maustaste auf eine .py-Datei zu klicken und "Öffnen mit" / "Programm auswählen" auszuwählen. Wählen Sie im angezeigten Dialogfeld die Python-Version aus oder navigieren Sie zu dieser, die Sie standardmäßig verwenden möchten, und aktivieren Sie das Kontrollkästchen "Verwenden Sie dieses Programm immer, um diese Art von Datei zu öffnen".
quelle
Sie sollten sicherstellen, dass die Umgebungsvariable PATH nicht beide python.exe-Dateien enthält (fügen Sie die Datei hinzu, die Sie derzeit zum täglichen Ausführen von Skripten verwenden), oder tun Sie, was Kniht mit den Batchdateien vorgeschlagen hat. Abgesehen davon verstehe ich nicht, warum nicht.
PS: Ich habe 2.6 als "primäre" Python und 3.0 als "Play" -Python installiert . Die 2.6 ist im PATH enthalten . Alles funktioniert gut.
quelle
Bevor ich beide gleichzeitig mutig installiert habe, hatte ich so viele Fragen. Wenn ich Python gebe, geht es dann zu py3, wenn ich py2 will? pip / virtualenv wird unter py2 / 3 passieren?
Es scheint jetzt sehr einfach zu sein.
Installieren Sie beide einfach blind. Stellen Sie sicher, dass Sie den richtigen Typ erhalten (x64 / x32). Stellen Sie während / nach der Installation sicher, dass Sie dem Pfad zu Ihren Umgebungsvariablen hinzufügen .
Ersetzen Sie das x im obigen Befehl, um den Pfad festzulegen.
Gehen Sie dann zu beiden Ordnern.
Navigieren Sie zu
und benenne pip in pip3 um.
Wenn pip3 bereits vorhanden ist, löschen Sie den pip. Dadurch wird sichergestellt, dass nur pip unter python2 ausgeführt wird . Sie können Folgendes überprüfen:
Wenn Sie pip mit python3 verwenden möchten, verwenden Sie einfach
Sie können das Gleiche auch für Python-Dateien und andere tun.
Prost!
quelle
Einfach, nach der Installation beider Python-Versionen fügen Sie die Pfade zu den Umgebungsvariablen hinzu; siehe . Wechseln Sie dann zu den Ordnern Python 2 und Python 3 und benennen Sie sie wie gezeigt und in Python2 bzw. Python3 um . Geben Sie nun in cmd python2 oder python3 ein, um die gewünschte Version zu verwenden .
quelle
Ich würde davon ausgehen, dass Python 2.4, 2.5 und 2.6 nebeneinander auf demselben Computer installiert sind.
quelle
Ich fange gerade erst mit Python an. Ich lese Zed Shaws Buch "Learn Python the Hard Way", für das Python Version 2.x erforderlich ist, nehme aber auch an einer Klasse teil, für die Python 3.x erforderlich ist
Also hier ist was ich getan habe.
"[UMWELT] :: SETENVIRONMENTVARIABLE (" PATH "," $ ENV: PATH; C: \ PYTHON27 "," USER ")" (keine Anführungszeichen)
JETZT für Python 3.x.
Der einfache Download von Python 3.x wird mit der Python für Windows-App geliefert. Stecken Sie einfach die Python für Windows-App in Ihre Taskleiste oder erstellen Sie eine Verknüpfung zum Desktop, und fertig!
Öffnen Sie Python für Windows für 3.x.
Öffnen Sie Powershell für Python 2.x.
Ich hoffe das hilft!
quelle
Hmm..Ich habe dies jetzt getan, indem ich Python 3.6.5 für Windows unter https://www.python.org/downloads/release/python-365/ heruntergeladen und sichergestellt habe, dass der Launcher installiert wird. Dann habe ich die Anweisungen zur Verwendung von Python 2 und Python 3 befolgt. Starten Sie die Eingabeaufforderung neu und verwenden Sie dann
py -2.7
Python 2 und /py
oderpy -3.6
Python 3. Sie können auchpip2
Python 2pip
undpip
Python 3 verwendenpip
.quelle
Ich hatte das gleiche Problem, bei dem ich Python3 für die meisten Arbeiten verwenden wollte, aber IDA Pro benötigte Python2. Also, hier ist was ich getan habe.
Ich habe zuerst 3 Variablen in der Benutzerumgebungsvariablen wie folgt erstellt:
Jetzt habe ich hinzugefügt
zu PATH Variable. Im Grunde genommen ist das, was dieses "PYTHON_ACTIVE" enthält, die aktive Python. Wir ändern programmgesteuert die Inhalte von "PYTHON_ACTIVE", um die Python-Version zu wechseln.
Hier ist das Beispielskript:
Dieses Skript verwendet die Python-Version als Eingabe und kopiert entsprechend HOME_PYTHON27 oder HOME_PYTHON38 nach PYTHON_ACTIVE. Dadurch wird die globale Python-Version geändert.
quelle