检查是否使用pip安装了软件包

时间:2018-06-15 09:16:13

标签: python pip

检查Python中是否有特定包可以通过

完成
try:
    import requests
except ImportError:
    available = False
else: 
    available = True

此外,我想知道相应的软件包是否已经安装了pip (因此可以使用pip install -U package_name进行更新)。

任何提示?

4 个答案:

答案 0 :(得分:2)

我相信找出 pip 是否已安装项目的一种方法是,查看发行版INSTALLER目录中dist-info文本文件的内容,以查找这个项目。使用 setuptools 中的pkg_resources,可以通过编程方式完成以下操作(省略了错误检查):

import pkg_resources

pkg_resources.get_distribution('requests').get_metadata('INSTALLER')

如果pip\n确实是 pip 安装的,它将返回requests

答案 1 :(得分:0)

您说subprocess.call()是允许的,所以

available = not(subprocess.call(["pip", "show", "requests"]))

答案 2 :(得分:0)

也许您可以检索由pip安装的所有软件包,并检查您的软件包是否在那里。

import pip
return 'package' in pip.get_installed_distributions()

答案 3 :(得分:0)

我们可以将HAVING COUNT(1) > 1 HAVING ZIP_COUNT > 1

一起使用
pip list --format=json

<强>输出

subprocess