我在Windows 7上安装了64位python27.我还安装了setuptools和pip.现在,当我在Windows控制台中执行命令时,会出现一个新的控制台窗口,消息将打印在其中并关闭,然后才能从中读取内容.例如,我安装了yolk,当在cmd中键入yolk -l时,它会显示新cmd窗口中的所有包并立即关闭.如果我想在主命令窗口中显示所有消息,我该怎么办?
当您运行pip
或easy_install
从命令行运行时,您的系统将启动easy_install.exe
或pip.exe
.从Python 2.7 x64开始,这些可执行文件具有清单文件,以满足Windows 7的UAC要求.您可以在此处阅读更多相关内容,但简而言之,因为应用程序可以使用不同的权限运行,所以会打开一个新窗口.
我不相信有一个适当的解决办法来解决这个问题,而不是降级.但是,您可以通过不使用可执行文件来绕过此问题.
备份然后删除pip.exe
,, easy_install.exe
和fab.exe
(如果你有Fabric).
创建一堆与原始二进制文件名称匹配的批处理文件,并将它们放在具有二进制文件的同一文件夹中(默认C:\Python27\Scripts
).
easy_install.bat
@echo off easy_install-script.py %*
pip.bat
@echo off pip-script.py %*
fab.bat
@echo off fab-script.py %*
有了这些,您应该发现命令行使用这些工具不会产生新窗口.快乐的黑客.