繁体   English   中英

使用 python 子进程检查 pip 是否安装在 Windows 上

[英]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

如果CreateProcesssubproces.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM