Я следил по этой ссылке Stackoverflow о ftype и asso c, чтобы связать файл .py с Python 3.
В основном мне нужно сделать это:
>ftype PythonScript=C:\Program Files\Python37\python.exe "%1" %*
>assoc .py=PythonScript
Однако, когда я запускаю свой сценарий без «python», я получаю другую версию python, Python 2.
Это простой тестовый сценарий, test_ python .py
#!/usr/bin/env python
import sys
print(sys.version)
Когда я запускаю скрипт с «python», скрипт использует python3
>python .\test_python.py
3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)]
Но когда я запускаю скрипт без «python ", сценарий использует python2
>.\test_python.py
2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)]
Это Windows 10 с использованием cmd.exe. Ниже приведены подтверждения «asso c .py» и «ftype»
>assoc .py
.py=PythonScript
>ftype PythonScript
PythonScript=C:\Program Files\Python37\python.exe "%1" %*
Только позже я узнал, что если я изменил «приложения по умолчанию по типу файла», то установил «.py» на «Python3» в настройках, мой скрипт будет постоянно вызывать python3.
Заменены ли теперь в настройках команды assoc / ftype на «приложения по умолчанию по типу файла»?
Я предпочитаю использовать «asso c .py» и «ftype», потому что в настройках есть одинаковые значки для python2 и python3, что очень сбивает с толку. Я должен попытаться и ошибка, чтобы выбрать python3.
введите описание изображения здесь