如何强制easy_install.exe在当前命令窗口输出?
我在使用64位的Windows 7系统,并且已经安装了easy_install。每当我在命令提示符下运行easy_install时,它会打开一个新的窗口来显示输出,但这个窗口很快就关闭了,我根本来不及查看里面的内容。
我知道有一个相关的问题,在这里,但我觉得这个问题可能被过早关闭了,因为那个问题里提到的解决办法在我这台电脑上并不管用。
当我以管理员身份运行命令提示符,然后执行(例如):
$ easy_install pip
我遇到的情况是一样的……又一个命令窗口闪了一下,然后我又回到了提示符,没有任何输出。那么,我该怎么做才能让easy_install在当前窗口显示结果呢?
更新:(补充信息)使用pip.exe和virtualenv.exe时也会出现同样的情况。这肯定和这些可执行文件的构建方式以及它们与64位Windows 7的交互有关。
6 个回答
首先试试这个:
- 把你的
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。
Windows 7在用户权限方面让人很头疼。虽然这是为了保护普通用户,但对开发者来说却是个麻烦。
你可以右键点击cmd.exe,选择“以管理员身份运行”,这样问题就能解决了。
我还发现,如果你安装了虚拟环境(virtualenv),然后更改了上级目录的名字,也会出现这个问题。因为在安装虚拟环境时,路径似乎是写死在一些文件里的,所以一旦你改动了上面的目录,它就会出错。你可以用grep或wingrep工具查找所有包含这个路径的文件,然后手动更新它,或者在谷歌上搜索一下,找找有没有“正确”的解决方法(我觉得应该有的)。
我发现问题出在我使用的 setuptools
版本上。我安装了 python-2.7.1.amd64
,然后又安装了 setuptools-0.6c12dev.win-amd64-py2.7
。
在寻找64位的setuptools时,我没注意到文件名中的“dev”部分。
结果是,当我卸载它后再安装 setuptools-0.6c11.win32-py2.7
时,所有输出都能正常显示在控制台里。看起来新版本的“c12”有些问题。
顺便提一下,这个方法也解决了使用 pip
和 virtualenv
时遇到的同样问题。