Изменить интерпретатор Python по умолчанию в Windows XP - PullRequest
13 голосов
/ 12 января 2011

У меня есть две версии Python: Python 2.5 и Python 2.7.Когда я настраиваю django, я хочу использовать Python 2.7, но django каким-то образом использует Python 2.5.

Как я могу убедиться, что django использует Python 2.7?Я использую Windows XP

Ответы [ 7 ]

21 голосов
/ 12 января 2011

Изменение вашего PATH поможет, если вы всегда вызываете python напрямую, а не полагаетесь на файловая ассоциация.

Например: "python foo.py" запустит скрипт 'foo' с тем, какой питон первым в вашей переменной PATH.

Однако, если вы просто запустите "foo.py", обработчик, связанный с реестром для этого расширения файла, будет первым вызванным.

В вашем случае это звучит так, как будто это Python 2.5. Посмотрите, открыв regedit и проверив значения:

HKEY_CLASSES_ROOT\Python.File\shell\open\command

Приведенное значение (по умолчанию), вероятно, будет примерно таким: "C:\Python25\python.exe" "%1" %*

Быстрое (и грязное?) Исправление для вас - изменить эти значения на версию Python, которая вам действительно нужна.

Лучшим решением было бы сделать что-то вроде того, что указано в этом запросе:

http://bugs.python.org/issue4485

С тех пор, пока у вас есть права администратора, вы можете переключаться по своему усмотрению, указав Assoc на нужную вам версию.

12 голосов
/ 24 ноября 2011

Создайте два простых .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

Теперь вы можете переключаться между Python 2.5 и 2.7. :)

10 голосов
/ 12 января 2011

Измените переменную системной среды PATH, указав версию Python, которую вы хотите использовать.

5 голосов
/ 03 января 2013

Теперь, когда выпущен Python 3.3, проще всего использовать описанную здесь утилиту py.exe: http://www.python.org/dev/peps/pep-0397/

Это позволяет вам указать версию Python в вашем файле скрипта, используя директиву стиля UNIX. Существуют также параметры командной строки и переменных среды для управления тем, какая версия Python запускается.

Самый простой способ получить эту утилиту - это установить Python 3.3 или более позднюю версию.

5 голосов
/ 14 сентября 2012

Установщик Python не изменяет переменную окружения PATH в Windows. При наборе чего-то вроде python setup.py Windows сначала ищет python в PATH, а затем в кусте текущего реестра пользователей

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

и затем в кусте реестра локальной машины

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe
4 голосов
/ 18 июня 2014

Если вы хотите переключаться между Python 2.x и Python 3.x, тогда проще всего использовать Python Launcher , который включен с версии 3.3.Это в основном py.exe в папке Windows.Чтобы запустить командную строку Python 3.x, просто введите

py -3

Чтобы выполнить скрипт с Python 3.x, используйте

py -3 script.py

Если вы не укажете -3, то 2.x версия используется по умолчанию.Вы также можете сделать это явным образом с помощью переключателя -2.7.

py -2.7 script.py

Наконец, теперь вы можете встроить номер версии для использования в самом файле .script.Это работает, потому что после установки Python 3.3+ он связывает py.exe с файлами .py.

#! python3
import sys
sys.stdout.write("hello from Python %s\n" % (sys.version,))
1 голос
/ 15 февраля 2013

Изменить ключ реестра на

HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...