我正在使用python来检查是否在系统上安装了pip。 我写的代码是:
subprocess.run(["pip"],shell=True)
我收到以下错误:
'pip'未被识别为内部或外部命令, 可操作程序或批处理文件。
我已尝试将系统环境传递给
运行env = os.environ.copy()
subprocess.run(["pip"],shell=True,env=env)
但仍然没有运气。 我使用get-pip.py
在我的Windows机器上安装了pip答案 0 :(得分:0)
如果CreateProcess
(subproces.run
调用)无法将pip识别为命令,它可能会识别python?所以你可以这样做:subprocess.run(['python3', '-m', 'pip'])
也许?
答案 1 :(得分:0)
您需要将pip安装的路径添加到PATH系统变量中。输入echo $ PATH $以检查它是否已经存在。
答案 2 :(得分:0)
在Windows上,pip
不一定在PATH
环境变量中,因此pip
的简单运行可能找不到它。
如果当前运行的Python中安装了pip
,您应该可以导入其模块:
pip_present = True
try:
import pip
except ImportError:
pip_present = False
如果您想使用subprocess
运行它,您可以使用sys
中的内容获取相对于当前运行的Python的常用位置:
pip_path = os.path.join(os.path.dirname(sys.executable), "Scripts", "pip.exe")
subprocess.run([pip_path])