首页 > 解决方案 > 使用 python 子进程检查是否在 Windows 上安装了 pip

问题描述

我正在使用 python 来检查系统上是否安装了 pip。我写的代码是:

subprocess.run(["pip"],shell=True)

我收到以下错误:

'pip' 不是内部或外部命令、可运行程序或批处理文件。

我已经尝试通过我的系统环境来运行使用

env = os.environ.copy()
subprocess.run(["pip"],shell=True,env=env)

但仍然没有运气。我使用 get-pip.py 在我的 Windows 机器上安装了 pip

标签: pythonpython-3.xintellij-ideasubprocess

解决方案


在 Windows 上,pip不一定会在PATH环境变量中,所以简单的运行pip可能找不到它。

如果pip安装在当前运行的 Python 中,你应该可以导入它的模块:

pip_present = True
try:
    import pip
except ImportError:
    pip_present = False

如果您想使用 运行它subprocess,您可以使用以下内容获取其相对于当前正在运行的 Python 的通常位置sys

pip_path = os.path.join(os.path.dirname(sys.executable), "Scripts", "pip.exe")
subprocess.run([pip_path])

推荐阅读