如何从 cygwin shell 调用 ActivePython?

如何从 cygwin shell 调用 ActivePython?

我安装了 ActivePython,它是适用于 Windows 的 Python 版本 3.x 安装。我将解释器重命名为,activepython.exe以便允许从 cygwin 调用它而无需修改/etc/profile路径。

当我在cmd.exeshell 中时,我可以不带参数调用 ActivePython 解释器并进入交互模式。当我从 Cygwin shell 执行 ActivePython 解释器时,shell 在按下 Enter 后会无限期挂起(类似于其他人看到的帐户这里)。

如何从 cygwin shell 调用 ActivePython?

答案1

找一个博客文章解决方案如下:

activepython -i

笔记:

  • 就我而言,我在路径上有 ActivePython 解释器,以便activepython允许我调用 activepython 而不是已安装的 cygwin python
  • 提示:当您需要退出解释器时,解释器Ctrl-D不起作用。您需要这样做Ctrl-C,然后 Cygwin shell 会冻结 20 秒,然后才能再次使用。
  • 我找到了关于这个确切主题的第二个更权威的来源。这个来源是 Cygwin 终端mintty在这里,Cygwin 开发人员正在讨论这个问题,他们似乎在讨论 windows/mintty/python 解释器的低级问题
    • “这明确地告诉它以交互模式运行。否则它不起作用的原因是它检查 stdin 是否是控制台。对于 mintty 和其他基于 pty 的终端,答案是否定的,因为 Cygwin 使用管道来模拟 ptys,所以 Python 进入非交互模式。”
    • “不幸的是,并非所有 Windows 程序都有像 -i 这样的解决方法来强制它们以交互方式运行。”

答案2

让 cygwin shell 从 cmd.exe 内部运行对我来说非常有效:

我使用了以下快捷方式(检查 cygwin 路径是否匹配)

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

Cygwin 在 cmd.exe 中运行 python 没有任何奇怪的问题

相关内容