2011-01-12 20 views
13

Mam dwie wersje python: Python 2.5 i Python 2.7. Kiedy konfiguruję django, chcę użyć Pythona 2.7, ale django w jakiś sposób używa Pythona 2.5.Zmiana domyślnego interpretera języka Python w systemie Windows XP

Jak mogę się upewnić, że django używa Pythona 2.7? Używam Windows XP

+0

Możliwy duplikat [Zmiana okna interpreter Pythona] (http://stackoverflow.com/questions/1053794/changing-python-interpreter-windows) –

Odpowiedz

10

Zmień zmienną środowiskową systemu PATH, aby wskazywała wersję Pythona, którego chcesz użyć.

+0

Zauważ, że to się nie zmieni skojarzeń rozszerzeń plików. –

+2

jak ??? proszę wyjaśnić, to nie pomoże wiele – Martian2049

21

Zmiana PATH pomoże, jeśli zawsze wywołasz Pythona bezpośrednio, zamiast polegać na skojarzeniu plików .

Na przykład: "python foo.py" uruchomi skrypt "foo" z tym, który pyton jest pierwszy na Twojej PATH.

Jednakże, jeśli uruchomisz tylko "foo.py", nazwa handlowa powiązana z rejestrem, dla tego rozszerzenia pliku, będzie pierwszym wywołanym.

W twoim przypadku brzmi to, jakby był python 2.5. Spojrzeć przez otwarcie regedit, a także sprawdzanie wartości z:

HKEY_CLASSES_ROOT\Python.File\shell\open\command 

The (domyślnie) wartość wymienionych będzie prawdopodobnie coś "C:\Python25\python.exe" "%1" %*

Szybka (i brudne?) Ustalić dla Ciebie byłoby zmień te wartości na wersję python, której naprawdę potrzebujesz.

Lepszym fix byłoby zrobić coś takiego, co jest przedstawione w niniejszym wniosku cecha:

http://bugs.python.org/issue4485

Od tamtej pory, jak długo miał prawa administratora, można przełączać za potrzebne, wskazując assoc na wersja, którą chcesz szybko.

+6

BTW Szybki sposób, aby dowiedzieć się handler dla rozszerzenie pliku python: 'ftype | find/I" python "' –

+0

ta odpowiedź zawiera więcej szczegółów na temat znalezienia, co jest związane z .py http: // stackoverflow.com/a/5088548/264607 i shitalshah odpowiedź jest bardziej aktualna: http://stackoverflow.com/a/24277570/264607 – BlackICE

12

wykonać dwa proste pliki cmd:

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 

Teraz można przełączać między Pythonem 2.5 i 2.7. :)

5

Instalator Pythona nie zmienia zmiennej środowiskowej PATH w systemie Windows. Podczas wpisywania coś python setup.py okien najpierw szuka pytona w PATH, następnie w gałęzi rejestru prąd użytkownika

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

a następnie w lokalnym rejestrze maszyna ula

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

Teraz, Python 3.3 jest zwolniony najłatwiej do użycia narzędzia py.exe opisanego tutaj: http://www.python.org/dev/peps/pep-0397/

Pozwala na określenie wersji Pythona w pliku skryptu za pomocą dyrektywy stylu UNIX. Istnieją również opcje wiersza poleceń i zmiennych środowiskowych do kontrolowania, która wersja Pythona jest uruchamiana.

Najprostszym sposobem na uzyskanie tego narzędzia jest zainstalowanie Pythona w wersji 3.3 lub nowszej.

1

Zmień klucz rejestru w

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

Jeśli chcesz przełączać pomiędzy Pythona 2.x oraz 3.x Pythona następnie Najprostszym sposobem jest użycie Python Launcher który jest zawarty od 3,3 wersji. Jest to zasadniczo py.exe w folderze Windows. Aby uruchomić wiersz polecenia Pythona 3.x, wystarczy wpisać

py -3 

Aby wykonać skrypt Pythona 3.x, należy

py -3 script.py 

Jeśli nie określisz -3 następnie wersja 2.x jest używany domyślnie. Możesz to również wyrazić, używając przełącznika -2.7.

py -2.7 script.py 

Wreszcie można teraz osadzić numer wersji, aby użyć go w pliku .script. Działa to, ponieważ po zainstalowaniu Pythona w wersji 3.3+ powiązano z py.exe z plikami .py.

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

Dodam, że możesz zmienić domyślny plik py.ini zawarty w lokalizacji py .exe – BlackICE

Powiązane problemy