7

На моем компьютере установлены Python 2.7 и Python 3.3 (я на Windows 8).

Я хотел бы, чтобы .py файлы открывались с Python 3.3 по умолчанию. Единственный путь Python в переменной окружения PATH - это 3.3. Тем не менее, при открытии файлов .py я вижу, что они интерпретируются Python 2.7, даже когда я явно открываю их с помощью Python 3.3 exe ("Открыть с помощью" и выбираю 3.3 exe). Я также попытался изменить версию Python.exe с помощью "Задать ассоциации" в панели управления Windows. Я не уверен, что это что-то изменило. Независимо от того, что я делаю, вывод следующей программы - 2.7.3:

import sys
print(sys.version)

Как заставить Windows 8 открывать файлы .py с Python 3.3?

5 ответов5

1

Кажется, что windows не проверяет весь путь исполняемого файла! Попробуйте переименовать python.exe версии 2 (соответственно 3) в какое-нибудь временное имя. Тогда свяжись с этим именем. И все поменять обратно.

К вашему сведению, вы можете проверить связь файлов с:

C:\Users\shadowed>assoc .py
.py=Python.File

C:\Users\shadowed>ftype Python.File
Python.File="C:\Python27\python.exe" "%1" %*
1

Попробуйте добавить #!python3 до самой первой строки. Python 3.3 представил Python Launcher для Windows, который связывает .py с c:\windows\py.exe . Он запускает самый высокий Python 2 по умолчанию.См. Https://stackoverflow.com/a/17245543/1346705.

1

Изменение Шебанга (#! python3) может вам помочь, но у вас возникнет проблема: если ваш скрипт на python имеет параметры, они будут обрезаны при запуске команды

somepythonfile.py your_parameters

Вы запустите py.exe только с «somepythonfile.py» и без параметров, поверьте мне.

Метод, который работал для меня, следующий: запустите приложение http://www.nirsoft.net/utils/file_types_manager.html - это менеджер файловых ассоциаций. Исправить связь для файлов Python, чтобы быть

"C:\Windows\py.exe" "%1" %*

вместо

"C:\Windows\py.exe" "%1"

Или, альтернативно, установить

"C:\Python34\pythonw.exe" "%1" %*

явно - чтобы соответствовать желаемой версии и пропустить строку Шебанга.

0

Вы пытались временно удалить Python 2.7? Это может исправить ассоциацию файлов. Я не уверен, так как я не знаком с Windows 8, кроме того, что мало о ней узнал, когда попробовал ее на чужом компьютере. Я даже не уверен, что он будет работать на Windows 7, но стоит спросить, если вы спросите меня.

Я также рекомендую использовать тег для конкретной версии Windows, а не стандартный тег "windows". В этом случае я мог бы использовать и то и другое, поскольку файловые ассоциации не сильно меняются между версиями Windows. По крайней мере, используйте правильный тег (Windows-8), во всяком случае. Тогда вы получите больше ответов от людей, которые ищут этот тег.

0

Если вы хотите изменить IDLE, используемый при щелчке правой кнопкой мыши, вы можете зайти в реестр и найти ключ:

HKEY_CLASSES_ROOT\Python.File\shell\Edit with IDLE\command

Вы должны увидеть что-то вроде:

"C:\Python27\pythonw.exe" "C:\Python27\Lib\idlelib\idle.pyw" -e "%1"

Измените все 27 на 33 если вы установили своих питонов в области по умолчанию. Если нет, просто измените путь к месту хранения вашей версии 3.3.

Чтобы изменить Python командной строки по умолчанию, вы должны сделать то же самое с путем в переменной окружения PATH .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .