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

1 投票
6 回答
1571 浏览
提问于 2025-04-16 14:46

我在使用64位的Windows 7系统,并且已经安装了easy_install。每当我在命令提示符下运行easy_install时,它会打开一个新的窗口来显示输出,但这个窗口很快就关闭了,我根本来不及查看里面的内容。

我知道有一个相关的问题,在这里,但我觉得这个问题可能被过早关闭了,因为那个问题里提到的解决办法在我这台电脑上并不管用

当我以管理员身份运行命令提示符,然后执行(例如):

$ easy_install pip

我遇到的情况是一样的……又一个命令窗口闪了一下,然后我又回到了提示符,没有任何输出。那么,我该怎么做才能让easy_install在当前窗口显示结果呢?

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

6 个回答

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,而以上步骤不管用的话,我建议你试试 distribute。

1

Windows 7在用户权限方面让人很头疼。虽然这是为了保护普通用户,但对开发者来说却是个麻烦。

你可以右键点击cmd.exe,选择“以管理员身份运行”,这样问题就能解决了。

我还发现,如果你安装了虚拟环境(virtualenv),然后更改了上级目录的名字,也会出现这个问题。因为在安装虚拟环境时,路径似乎是写死在一些文件里的,所以一旦你改动了上面的目录,它就会出错。你可以用grep或wingrep工具查找所有包含这个路径的文件,然后手动更新它,或者在谷歌上搜索一下,找找有没有“正确”的解决方法(我觉得应该有的)。

1

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

在寻找64位的setuptools时,我没注意到文件名中的“dev”部分。

结果是,当我卸载它后再安装 setuptools-0.6c11.win32-py2.7 时,所有输出都能正常显示在控制台里。看起来新版本的“c12”有些问题。

顺便提一下,这个方法也解决了使用 pipvirtualenv 时遇到的同样问题。

撰写回答