当前位置: 首页 > 面试题库 >

在Windows上的CygWin下调用python挂起

劳研
2023-03-14
问题内容

安装新的Windows系统后,我已经在默认位置(c:\cygwin
c:\Python27\python)安装了CygWin和64位Python(2.7.3),并将CygWin
bin和Python目录都添加到了我的路径中(在用户变量PATH中)。在正常的命令窗口中,Python可以完美启动,但是当我bash在CygWin环境中调用它时,它挂起了,从不提示输入提示。

以前,我已经在其他计算机上做到了这一点,但始终使用旧版本的Python(32位)和CygWin,以及在绝对非标准位置使用Python。其他人有这个问题吗,或者有人可以告诉我这可能是什么原因?


问题答案:

问题在于,由于Cygwin终端(MinTTY)的行为方式,Python的Windows本机Windows版本没有意识到stdout是终端设备-
它认为它是管道,因此它以非交互模式运行交互模式,并且完全缓冲其输出,而不是行缓冲。

这是新的原因,可能是因为在您先前的Cygwin安装中,您没有MinTTY,并且使用的终端只是标准的Windows终端。

为了解决此问题,您需要从常规Windows终端(Cmd.exe)运行Python
,或者安装Cygwin版本的Python,而不是Python的本机Windows版本。Cygwin版本(可通过Cygwin的软件包安装setup.exe)可理解Cygwin终端,并在通过MinTTY运行时表现适当。

如果所需的特定版本的Python不能作为Cygwin软件包提供,那么您还可以下载Python的源代码,并在Cygwin下自行构建。如果还没有Cygwin(GCC),则需要Cygwin编译器工具链,但是我认为它应该使用标准./configure && make && make install命令进行编译。



 类似资料:
  • 在安装一个新的Windows系统时,我已经在其默认位置(和)安装了CygWin和64位Python(2.7.3),并将CygWin bin和Python目录都添加到了我的路径中(在用户变量path中)。在正常的命令窗口中,Python可以完美地启动,但是当我在CygWin环境中从调用它时,它会挂起,从不给我输入提示。 我以前在其他机器上也这样做过,但总是使用旧版本的Python(32位)和CygW

  • 问题内容: 我最近一直在Windows上使用Cygwin。我想使用Windows安装的Python,因此在测试期间,我使用而不是。 除打印外,这几乎可以完美地工作。当我从Cygwin运行Windows Python时,直到执行完成才输出输出。它可以通过explorer.exe或cmd.exe在Windows Python中正常运行,并且可以使用Cygwin安装的Python()在Cygwin中运行

  • 问题内容: 我正在尝试使用从Python调用ac程序。我在下面有一个最低限度的(非工作)示例。 C程序 这是我要调用的C程序。只是您的标准hello world程序。我在Windows上使用eclipse和cygwin gcc编译器对此进行编译以生成文件。 主文件 main.c Python程序 然后,我编写一个python脚本来加载我的脚本并调用该函数。重要的是,我要同时覆盖我创建的和。 hel

  • 在Windows下安装和使用Git有两个不同的方案,通过安装msysGit或者通过安装Cygwin来使用Git。在这两种不同的方案下,Git的使用和在Linux下使用完全一致。再有一个就是基于msysGit的图形界面工具——TortoiseGit,也就是在CVS和SVN时代就已经广为人知的Tortoise系列软件的Git版本。TortoiseGit提供和资源管理器的整合,提供Git操作的图形化界面

  • 我有一堆shell脚本,以前是在Linux机器上运行的。现在,我们已经切换到Windows,我需要在那里运行这些脚本。我已经安装了Cygwin,但是有没有一种方法可以让脚本使用Cygwin运行,但是调用是从Windows批处理中进行的呢?

  • 我在Windows计算机上安装了cygwin并配置了openssh(ssh-host-config-y)。现在从网络上的一个Linux我有一个奇怪的行为: 没有.ssh(在Linux上),我使用密码成功连接 使用.ssh(和我在Windows的.ssh/authorized_keys上的公钥,我失败了(它不问我密码): 有什么建议吗?