强制 Windows 7 不要在新弹出的 cmd 窗口中打开 Python 脚本可执行文件(特别是 pip 和 IPython)

强制 Windows 7 不要在新弹出的 cmd 窗口中打开 Python 脚本可执行文件(特别是 pip 和 IPython)

这意味着当我从命令行运行类似以下命令时:

Ipython

或者

pip install somelib

Windows 在新 cmd 窗口而不是当前窗口中运行它们。因此,如果有错误消息,我通常看不到它,因为窗口关闭了。

如果我使用长版本,我可以内联运行(大多数)python 脚本,例如:

python pip-script.py install somelib

但这非常麻烦,并且并非每个python工具exe都有-script.py版本。

如何解决?谢谢帮助

答案1

我使用的是 Windows 7 Home Premium,不再遇到同样的问题,尽管其中一些问题确实引起了一些麻烦。如果你能得到一个已经编译了 .exe 包装器的 Python 发行版,电动工具,我会尝试这样做(我从来没有调用过 pip.py,我有一个在 cmd.exe 中开箱即用的 pip.exe)。

最值得注意的是,执行包装脚本的 .bat 文件时要小心。如果设置不正确,BAT 文件将执行您描述的操作。我更喜欢创建链接,而不是使用 BAT 文件。然后您可以手动设置目标和其他执行特性。

如果您在使用某个命令时遇到问题,您可能需要跟踪命令的实际目标,并查看其运行方式。一些 Python 将模块包装在 .BAT 中,如果您没有意识到这一点,它们可能会出现错误。

最后一点,从运行提示符运行命令与从 cmd.exe 运行命令不同。我不知道确切的区别,我只知道它通常不起作用。

编辑:: 如果您在 cmd.exe 中,并且输入“python”,会发生什么?

答案2

从提升的命令提示符运行命令(开始/键入“cmd”/右键单击命令执行程序/以管理员身份运行)。如果他们仍然打开一个新窗口,那么很可能这就是他们被硬编码要做的事情。

答案3

自行解决了这个问题。似乎pip.exe默认安装的文件(在python27\scripts)由于某种原因表现得像这样,而且它应该只是一个pip-script.py包装器(我认为)。将文件从虚拟环境脚本文件夹复制pip.exe到主 Python 脚本文件夹就可以了。至少据我检查 (`pip --version) 它指的是默认的 Python 安装,而不是虚拟环境内的安装。这让我很开心

相关内容