是否有一种方法可以通过Python以编程方式检查用户是否有setuptools的"easy_install"或"easy_stall"的分发版本?
我想知道哪些是可用的(理想情况下,哪个是系统"正在使用"的。)
如何做到这一点?谢谢
易于安装基于
>>> import pkg_resources
>>> pkg_resources.get_distribution('setuptools')
setuptools 0.6c11 (t:tmpeasyinstalllibsite-packagessetuptools-0.6c11-py2.7.egg)
>>> pkg_resources.get_distribution('setuptools').project_name
'setuptools'
对于基于分布式的
>>> import pkg_resources
>>> pkg_resources.get_distribution('setuptools')
distribute 0.6.31 (t:tmpdistributelibsite-packagesdistribute-0.6.31-py2.7.egg)
>>> pkg_resources.get_distribution('setuptools').project_name
'distribute'
使用附带的pkg_resources
库来检测setuptools
是否可用,如果可用,它是什么版本。如果无法导入pkg_resources
,则没有安装setuptools
库,句号:
try:
import pkg_resources
except ImportError:
print "No setuptools installed for this Python version"
else:
dist = pkg_resources.get_distribution('setuptools')
print dist.project_name, dist.version
项目名称为distribute
或setuptools
;对我来说,这个打印:
>>> import pkg_resources
>>> dist = pkg_resources.get_distribution('setuptools')
>>> print dist.project_name, dist.version
distribute 0.6.32
有关可用信息的更多详细信息,请参阅Distribution
属性文档。