Изменить раздел реестра на

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

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

 ivan_pozdeev14 мар. 2016 г., 18:49

Ответы на вопрос(7)

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. :)

тогда проще всего использовать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,))
 BlackICE19 дек. 2016 г., 12:55
Я хотел бы добавить, что вы можете изменить значение по умолчанию в файле py.ini, включенном в расположение py.exe

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

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

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

Решение Вопроса

указав версию Python, которую вы хотите использовать.

 ivan_pozdeev14 мар. 2016 г., 18:24
Обратите внимание, что это не изменит ассоциации расширений файлов.
 Martian204908 февр. 2017 г., 16:34
как??? пожалуйста, уточните, это не очень помогает

Изменить раздел реестра на

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

оре чего-то вроде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

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

Например:"python foo.py" запустит скрипт 'foo' с того, какой Python будет первым в вашем 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 на нужную вам версию.

 BlackICE19 дек. 2016 г., 12:52
Этот ответ дает более подробную информацию о том, что связано с .pystackoverflow.com/a/5088548/264607 а шиталшах ответ более актуаленstackoverflow.com/a/24277570/264607
 Alex Markov13 апр. 2012 г., 10:48
Кстати, быстрый способ узнать обработчик для расширения файла Python:ftype|find /I "python"

Ваш ответ на вопрос