python包打开新窗口

sza*_*man 5 windows command-line

我在Windows 7上安装了64位python27.我还安装了setuptools和pip.现在,当我在Windows控制台中执行命令时,会出现一个新的控制台窗口,消息将打印在其中并关闭,然后才能从中读取内容.例如,我安装了yolk,当在cmd中键入yolk -l时,它会显示新cmd窗口中的所有包并立即关闭.如果我想在主命令窗口中显示所有消息,我该怎么办?

Aid*_*ick 11

当您运行pipeasy_install从命令行运行时,您的系统将启动easy_install.exepip.exe.从Python 2.7 x64开始,这些可执行文件具有清单文件,以满足Windows 7的UAC要求.您可以在此处阅读更多相关内容,但简而言之,因为应用程序可以使用不同的权限运行,所以会打开一个新窗口.

我不相信有一个适当的解决办法来解决这个问题,而不是降级.但是,您可以通过不使用可执行文件来绕过此问题.

备份然后删除pip.exe,, easy_install.exefab.exe(如果你有Fabric).

创建一堆与原始二进制文件名称匹配的批处理文件,并将它们放在具有二进制文件的同一文件夹中(默认C:\Python27\Scripts).

easy_install.bat

@echo off
easy_install-script.py %*
Run Code Online (Sandbox Code Playgroud)

pip.bat

@echo off
pip-script.py %*
Run Code Online (Sandbox Code Playgroud)

fab.bat

@echo off
fab-script.py %*
Run Code Online (Sandbox Code Playgroud)

有了这些,您应该发现命令行使用这些工具不会产生新窗口.快乐的黑客.