这意味着当我从命令行运行类似以下命令时:
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 安装,而不是虚拟环境内的安装。这让我很开心