2011-01-12 15 views
13

Ich habe zwei Python-Versionen: Python 2.5 und Python 2.7. Wenn ich Django einrichte, möchte ich Python 2.7 benutzen, aber Django benutzt irgendwie Python 2.5.Standard-Python-Interpreter unter Windows XP ändern

Wie kann ich sicherstellen, dass Django Python 2.7 verwenden? Ich verwende Windows XP

+0

Mögliche Duplikat [Ändern der Python-Interpreter Fenster] (http://stackoverflow.com/questions/1053794/changing-python-interpreter-windows) –

Antwort

10

Ändern Sie die PATH-Systemumgebungsvariable so, dass sie auf die Version von Python verweist, die Sie verwenden möchten.

+0

Beachten Sie, dass dies nicht Dateierweiterung Verbände ändern. –

+2

wie ??? Bitte ausführlicher, das hilft nicht viel – Martian2049

21

Ändern Sie Ihre PATH hilft, wenn Sie Python immer direkt aufrufen, anstatt sich auf Dateizuordnung verlassen.

Zum Beispiel: "python foo.py" wird das 'foo' Skript mit dem ersten Python auf Ihrem PATH ausführen.

Wenn Sie jedoch einfach "foo.py" ausführen, wird der in der Registrierung für diese Dateierweiterung zugeordnete Handler als erster aufgerufen.

In Ihrem Fall klingt es wie das wäre Python 2.5. Werfen Sie einen Blick durch regedit öffnen und die Überprüfung der Werte:

HKEY_CLASSES_ROOT\Python.File\shell\open\command 

Die (Standard) Wert aufgeführt wird wahrscheinlich so etwas wie "C:\Python25\python.exe" "%1" %*

werden, um eine schnelle (und schmutzig?) Fix für Sie sein würde Ändern Sie diese Werte in die Python-Version, die Sie tatsächlich möchten.

Ein besseres fix wäre so etwas wie zu tun, was in diesem Feature-Request skizziert ist:

http://bugs.python.org/issue4485

Seitdem solange Sie Admin-Rechte haben, konnte man wechseln, wie Sie an dem Hinweis Assoc benötigt die Version, die Sie schnell wollen.

+6

BTW Schnelle Möglichkeit, Handler für Python-Dateierweiterung zu finden: 'ftype | find/I" python "' –

+0

Diese Antwort bietet weitere Details zu finden, was mit .py http: // verbunden ist stackoverflow.com/a/5088548/264607 und shitalshah Antwort ist aktueller: http://StackOverflow.com/A/24277570/264607 – BlackICE

12

Machen Sie zwei einfache .cmd Dateien:

python25.cmd:

@echo off 
set PYTHONHOME=c:\python25 
set PATH=%PATH%;c:\python25 

python27.cmd:

@echo off 
set PYTHONHOME=c:\python27 
set PATH=%PATH%;c:\python27 

Jetzt können Sie zwischen Python-Schalter 2.5 und 2.7. :)

5

Python-Installer ändert sich nicht zu PATH-Umgebungsvariablen unter Windows. Wenn so etwas python setup.py Fenster eingeben sucht zuerst nach Python in PATH, dann in aktueller Benutzerregistrierungsstruktur

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe 

und dann in lokalen Rechnern Registrierungsstruktur

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe 
5

Nun, da Python 3.3 freigegeben wird, ist es am einfachsten Verwenden Sie das hier beschriebene Dienstprogramm py.exe http://www.python.org/dev/peps/pep-0397/

Es ermöglicht Ihnen, eine Python-Version in Ihrer Skriptdatei mit einer UNIX-Stil-Direktive anzugeben. Es gibt auch Befehlszeilen- und Umgebungsvariablenoptionen, um zu steuern, welche Version von Python ausgeführt wird.

Der einfachste Weg, um dieses Dienstprogramm zu erhalten, ist Python 3.3 oder höher zu installieren.

1

Ändern Sie den Registrierungsschlüssel bei

HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command 
4

Wenn Sie zwischen Python 2.x wechseln wollen und Python 3.x dann einfachste Weg ist Python Launcher zu verwenden, die seit Version 3.3 enthalten ist. Dies ist im Grunde py.exe im Windows-Ordner. Python 3.x Eingabeaufforderung zu starten, geben Sie einfach

py -3 

Um Skript mit Python 3.x auszuführen, verwenden

py -3 script.py 

Wenn Sie nicht angeben -3 dann 2.x-Version verwendet wird, standardmäßig. Sie können dies auch mithilfe von -2,7 switch explizit machen.

py -2.7 script.py 

Schließlich können Sie jetzt die Versionsnummer einbetten, um sie in der .script-Datei selbst zu verwenden. Das funktioniert, weil Python 3.3+ nach der Installation von py.exe mit .py-Dateien verbunden ist.

#! python3 
import sys 
sys.stdout.write("hello from Python %s\n" % (sys.version,)) 
+1

Ich würde hinzufügen, dass Sie den Standard in py.ini-Datei im Speicherort von Py enthalten können .exe – BlackICE

Verwandte Themen