检查Python中是否有特定包可以通过
完成try:
import requests
except ImportError:
available = False
else:
available = True
此外,我想知道相应的软件包是否已经安装了pip
(因此可以使用pip install -U package_name
进行更新)。
任何提示?
答案 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