【发布时间】:2020-03-16 00:35:40
【问题描述】:
我需要运行一些从 python 脚本调用 pip 的命令。 Pip 安装在我的机器上(运行 Ubuntu)。只需在终端中输入“pip”即可输出 pip 命令的帮助。
但是,尝试从 python 脚本调用 pip 会引发错误。 从脚本调用其他命令(例如“ls”)按预期工作(打印在终端中输入命令获得的输出)。
对于为什么这不起作用,我似乎无法取得任何进展,因此非常感谢任何帮助。 MWE 如下:
import subprocess
# Prints list of files in cwd
subprocess.Popen(["ls"])
# FileNotFoundError: [Errno 2] No such file or directory: 'pip': 'pip'
subprocess.Popen(["pip"])
编辑:似乎我用 Popen 调用的命令通常与我在提示符下运行它们时的行为不同。
例如运行'python --version'显示Python 3.7.4,但如果我这样做subprocess.Popen(["python", "--version"])
我得到 Python 2.7.15+。
【问题讨论】:
-
你能分享一下“whereis pip”的输出吗?
-
@4turkuaz /home//anaconda3/bin/pip
标签: python shell subprocess popen