В Windows 10 у меня установлены как Python3.5, так и Python2.7, и вам нужно сохранить оба. Мой скрипт написан для Python3.5. Если я запускаю скрипт с префиксом «python» или «py», он запускается без каких-либо проблем. Однако, когда я вызываю его напрямую, он не работает с ошибкой, аналогичной конфликту версии python:Windows 10 не запускает мой скрипт python с правильной версией python, несмотря на правильную ассоциацию файлов и пути.
Файл «C: \ Users \ user \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site.py», строка 176 файл = sys.stderr) ^ SyntaxError: неверный синтаксис
В моей командной строке набираю
>python script.py
или
>py script.py
Это работает, но если я просто запустил скрипт либо с ./script.py, либо просто с script.py (поскольку сценарий находится на моем пути), он терпит неудачу с упомянутым выше конфликтом.
мой путь, PYTHONHOME и PYTHONPATH указывают на 3,5
>echo %PATH%
C:\Users\user\AppData\Local\Programs\Python\Python35;C:\Users\user\AppData\Local\Programs\Python\Python35\Scripts;
>echo %PYTHONPATH%
C:\Users\user\AppData\Local\Programs\Python\Python35\lib
>echo %PYTHONHOME%
C:\Users\user\AppData\Local\Programs\Python\Python35
Мой питон файл ассоциации устанавливается на ру пусковая, который работает правильно, если я добавляю ру в начале моего пути.
>assoc .py
.py=Python.File
>ftype Python.File
Python.File="C:\WINDOWS\py.exe" "%L" %*
Мой пй и питон оба имеют правильные версии для тех, называемых на моем пути:
>py --version
Python 3.5.3
>python --version
Python 3.5.3
который указывает питона к правильной версии тоже.
>which python
/cygdrive/c/Users/user/AppData/Local/Programs/Python/Python35/python
Единственное, что я мог думать только о том, что Cygwin или MSDOS оболочки имеют свой собственный интерпретатор питона, который они используют, что мешает, но я не могу найти версию питона в любом каталоге.
Должна быть какая-то другая ассоциация файлов, которая переопределяет это место в Windows 10, о котором я не знаю. Unix shebang решила бы все это, но Windows просто раздражает. У кого есть подсказки?
'assoc .py' иногда ненадежен. Проверьте в реестре напрямую. –
Получить Проводник Процесса из SysInternals (бесплатно) и посмотреть, какие экземпляры py.exe или python.exe загружаются, когда он терпит неудачу. (Также Linux раздражает, если вы привыкли к Windows и т. Д.). –
@ Jean-FrançoisFabre, вы были верны в своем предположении, что партнер был неправильным. Я перекопал в реестр и обнаружил какую-то странную среду IDE, которую кто-то установил, которая зашла в «edit with python27» в реестр. По какой-то причине это заменило реальную рупочку. Спасибо за вашу помощь! – JLindros