:
required_modules = ['nose', 'coverage', 'webunit', 'MySQLdb', 'pgdb', 'memcache']
和节目:
required_programs = ['psql', 'mysql', 'gpsd', 'sox', 'memcached']
类似的东西:
# Report on the versions of programs installed for module in required_modules: try: print module.__version__ except: exit
答案 0 :(得分:3)
不幸的是module.__version__
并不存在于所有模块中。
解决方法是使用包管理器。使用easy_install或pip安装库时,它会记录已安装的版本。然后你可以这样做:
import pkg_resources
version = pkg_resources.get_distribution("nose").version
答案 1 :(得分:0)
我发现使用各种可用工具(包括moraes' answer中提到的最好的pkg_resources
)非常不可靠,因为其中大多数工具无法涵盖所有情况。例如
由于我们需要一种可靠的方法来获取 any 软件包,模块或子模块的版本,因此我最终写了getversion。使用起来非常简单:
from getversion import get_module_version
import foo
version, details = get_module_version(foo)
有关详细信息,请参见documentation。