![强制 Windows 7 不要在新弹出的 cmd 窗口中打开 Python 脚本可执行文件(特别是 pip 和 IPython)](https://linux22.com/image/1341386/%E5%BC%BA%E5%88%B6%20Windows%207%20%E4%B8%8D%E8%A6%81%E5%9C%A8%E6%96%B0%E5%BC%B9%E5%87%BA%E7%9A%84%20cmd%20%E7%AA%97%E5%8F%A3%E4%B8%AD%E6%89%93%E5%BC%80%20Python%20%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6%EF%BC%88%E7%89%B9%E5%88%AB%E6%98%AF%20pip%20%E5%92%8C%20IPython%EF%BC%89.png)
这意味着当我从命令行运行类似以下命令时:
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 安装,而不是虚拟环境内的安装。这让我很开心