Python egg的模块名称的稳健检测

3
假设我煮了一个鸡蛋。
~/toolz$ python setup.py bdist_egg
creating 'dist/toolz-0.7.4-py3.4.egg'

我该如何检测此 egg 的模块名称?它是否总是在版本字符串之前的单词?
>>> egg_name = 'toolz-0.7.4-py3.4.egg'
>>> egg_name.split('-')[0]
'toolz'

这个有时候会失败吗?我是否应该使用某个库来代替?

1个回答

2
In [1]: import pkg_resources

In [2]: pkgs = list(pkg_resources.find_distributions('dist/toolz-0.7.4-py2.7.egg'))

In [3]: assert len(pkgs) == 1

In [4]: pkg = pkgs[0]

In [5]: pkg.project_name
Out[5]: 'toolz'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接