如何强制easy_install.exe在当前命令窗口中打印输出?

时间:2011-03-31 00:31:53

标签: python windows-7 pip easy-install

我正在运行Windows 7 64位并安装了easy_install。当我从命令提示符运行easy_install时,它会打开另一个输出窗口,并在我能够检查已完成的操作之前快速关闭。

我知道this question但是认为它可能已经过早关闭,因为关闭的票证提到here的解决方案在我的系统上不起作用。

当我以管理员身份运行cmd窗口然后执行(例如):

$ easy_install pip

我得到了相同的行为......另一个cmd窗口闪烁然后我返回到没有输出的提示。那么如何强制easy_install在当前窗口中输出结果?

更新:(附加信息)使用pip.exe和virtualenv.exe时也会出现同样的行为。这必须与这些可执行文件的构建方式以及它们与Windows 7 64位的交互方式有关。

6 个答案:

答案 0 :(得分:1)

我发现问题是我使用的setuptools版本。我安装了python-2.7.1.amd64,然后安装了setuptools-0.6c12dev.win-amd64-py2.7

在寻求获取64位setuptool的过程中 - 我没有注意到文件名的“dev”部分。

当我卸载它然后安装setuptools-0.6c11.win32-py2.7时,所有输出都停留在控制台中。新的“c12”版本似乎存在一些问题。

在相关说明中 - 这也解决了使用pipvirtualenv时遇到的相同问题。

答案 1 :(得分:1)

Windows 7让用户权限变得非常麻烦。它旨在保护普通用户,但却给开发人员带来了麻烦。

以管理员身份运行cmd.exe(右键单击.exe然后选择“以管理员身份运行”),这个问题应该解决。

如果您安装virtualenv然后更改父目录名,我也会看到这种情况。当您安装virtualenv时,路径似乎在各种文件中进行了硬编码,因此更改上游的任何内容都会使其适合。您可以grep / wingrep包含路径的所有文件并手动更新它,或者进行Google搜索并找到解决问题的“正确”方法(我认为有一个)。

答案 2 :(得分:0)

首先尝试这个:

  • 将您的Scripts\easy_install.exe备份到其他地方
  • 转到Lib\site-packages\site-packages\distribute-0.6.13-py2.6.egg\setuptools并将cli.exe复制到Scripts\,然后将其重命名为easy_install.exe
  • 运行并查看结果。

我在这里使用distribute,如果您使用的是setuptools且上述步骤不起作用,我建议您尝试分发。

答案 3 :(得分:0)

我有同样的问题(在许多库中显示新的窗口行为) - 我相信这是用于setuptools二进制文件的编译方法的结果。

我最初使用过这里提供的已编译二进制文件:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

我只需卸载setuptools二进制文件并在此处安装一个:

http://pypi.python.org/pypi/setuptools

如果你需要win64二进制文件,大概你也可以编译自己的版本。

答案 4 :(得分:0)

我在Windows 7上遇到pipeasy_install这样的问题。您可以使用Powershell(可以在附件中找到)。它工作正常。

答案 5 :(得分:0)

我也遇到过同样的问题,这是一个简单快捷的解决方案

尝试指定如下命令:

c:\ python27 \ python.exe -m easy_install Django == 1.6.5v