Как заставить Windows Python Launcher распознавать Cygwin Python 2 & 3? - PullRequest
0 голосов
/ 27 апреля 2020

У меня CygWin с обоими Python 2 & 3. Когда я запускаю py, я получаю;

> py
launcher build: 32bit
launcher executable: Console
File 'C:\Users\user\AppData\Local\py.ini' non-existent
File 'C:\WINDOWS\py.ini' non-existent
Called with command line:
locating Pythons in 64bit registry
HKCU\SOFTWARE\Python\PythonCore\2.7\InstallPath: The system cannot find the file specified.
HKLM\SOFTWARE\Python\PythonCore\3.4\InstallPath: The system cannot find the file specified.
locating Pythons in native registry
HKCU\SOFTWARE\Python\PythonCore\2.7\InstallPath: The system cannot find the file specified.
locate_pythons_for_key: unable to open PythonCore key in HKLM
found no configured value for 'python'
search for default Python found no interpreter
Can't find a default Python.

Если бы я создал py.ini, что бы я вставил в него? PEP 397 довольно неопределенно в этом вопросе.

Кроме того, пусковая установка Windows Python, похоже, не реагирует должным образом на py -h или py --help. Есть ли описание аргументов командной строки для него?

Я могу запустить CygWin python и python3 из командной строки Powershell, поэтому пути кажутся правильными.

PS C:\Users\user> which python
/usr/bin/python
PS C:\Users\user> which python3.8
/usr/bin/python3.8

Другие идеи ? Возможно, я мог бы установить CygWin py, который заменит Windows 'и будет вести себя разумно?

1 Ответ

0 голосов
/ 28 апреля 2020

В Win 10 создайте «C: \ Users \ Doug \ AppData \ Local \ py.ini», например,

[commands]
cygpy2=C:\cygwin64\bin\python2.7.exe

Создайте тестовый файл, например, «test_cygpy2» в текущем каталоге с помощью

#! cygpy2
import sys
print 'Hello, python', sys.version

и запустите его как

> py test_cygpy2.py

Я попытался использовать опцию -i. Это работает:

> py -i test_cygpy2.py
Hello, python 2.7.16 (default, Mar 20 2019, 12:15:19)
[GCC 7.4.0]
>>> import sys
>>> sys.version
'2.7.16 (default, Mar 20 2019, 12:15:19) \n[GCC 7.4.0]'
>>>

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...