[英]Check if pip is installed on Windows using python subprocess
我正在使用 python 检查系统上是否安装了 pip。 我写的代码是:
subprocess.run(["pip"],shell=True)
我收到以下错误:
'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件。
我试过通过我的系统环境运行使用
env = os.environ.copy()
subprocess.run(["pip"],shell=True,env=env)
但仍然没有运气。 我使用 get-pip.py 在我的 Windows 机器上安装了 pip
如果CreateProcess
( subproces.run
调用)不能将pip识别为命令,它可能识别python? 所以你可以这样做: subprocess.run(['python3', '-m', 'pip'])
也许?
您需要将pip安装的路径添加到PATH系统变量中。 键入echo $ PATH $以检查它是否已存在。
在Windows上, pip
不一定在PATH
环境变量中,因此简单的pip
运行可能找不到它。
如果pip
安装在当前运行的Python中,您应该能够导入其模块:
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])
您可以这样检查命令的返回码:
import sys
import subprocess
def pip_installed():
pip_check = subprocess.run([sys.executable, "-m", "pip"])
return not bool(pip_check.returncode)
这将检查返回码。 如果 returncode 为 0,则表示 pip 已安装并将返回True
对于任何其他值,它将返回False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.