可靠地检测Python egg的模块名称

时间:2015-12-01 00:05:27

标签: python egg

让我说我做了一个鸡蛋

~/toolz$ python setup.py bdist_egg
creating 'dist/toolz-0.7.4-py3.4.egg'

如何检测此蛋的模块名称?它总是在版本字符串之前的单词吗?

>>> egg_name = 'toolz-0.7.4-py3.4.egg'
>>> egg_name.split('-')[0]
'toolz'

或者这有时会失败吗?我应该使用一个库吗?

1 个答案:

答案 0 :(得分: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'