2

Я установил ActivePython, который является установкой Python версии 3.x для Windows. Я переименовал интерпретатор в activepython.exe чтобы можно было вызывать его из cygwin без изменения пути /etc/profile .

Когда я нахожусь в оболочке cmd.exe я могу вызвать интерпретатор ActivePython без аргументов и войти в интерактивный режим. Когда я выполняю интерпретатор ActivePython из оболочки Cygwin, оболочка просто зависает на неопределенное время после нажатия клавиши enter (аналогично учетным записям, увиденным здесь другими).

Как вы вызываете ActivePython из оболочки Cygwin?

2 ответа2

4

Нашел сообщение в блоге с решением, вот краткое изложение решения:

activepython -i

Заметки:

  • В моем случае у меня есть ActivePython-интерпретатор на пути как activepython позволяющий мне вызывать activepython вместо python установленного на cygwin.
  • Совет: когда вам нужно выйти из интерпретатора, Ctrl-D не работает. Вам нужно нажать Ctrl-C а затем оболочка Cygwin зависнет на 20 секунд, прежде чем она снова станет доступной.
  • Я нашел второй более авторитетный источник по этому вопросу. Этот источник является терминалом Cygwin mintty . Здесь разработчики Cygwin говорят о проблеме и, похоже, говорят о низкоуровневых проблемах с интерпретатором windows/mintty/python .
    • "Это явно говорит о том, что он должен работать в интерактивном режиме. Причина, по которой он не работает, заключается в том, что он проверяет, является ли stdin консолью. С mintty и другими терминалами на основе pty ответ будет отрицательным, потому что Cygwin использует каналы для эмуляции ptys, поэтому Python входит в неинтерактивный режим. "
    • «К сожалению, не все программы Windows имеют обходной путь, например -i, чтобы заставить их действовать в интерактивном режиме».
1

Запуск оболочки cygwin из cmd.exe работал очень хорошо для меня:

Я подал в суд на следующий ярлык (проверьте соответствие пути Cygwin)

%windir%\system32\cmd.exe /C C:\cygwin64\Cygwin.bat

Cygwin изнутри cmd.exe запускает Python без каких-либо странных проблем

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