python - Python egg 模块名的鲁棒检测

标签 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'

或者这有时会失败吗?有没有我应该改用的库?

最佳答案

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'

关于python - Python egg 模块名的鲁棒检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34010362/

相关文章:

python-2.7 - setuptools中修剪和递归排除之间的区别?

python - 如何在 Python 中创建和加载 egg 文件?

python-2.7 - 命令 "python setup.py egg_info"失败,错误代码为 1 pygresql

python - 无法在Raspberry Pi4上播放使用OpenCV 4.4.0录制的视频

python - Unicode解码错误: 'charmap' codec can't decode byte 0x81 in position 73776

python - If 语句只打印 False

python - 如何在 Python egg 中分发/访问数据文件?

python - Python如何自动跳出死循环?

python - 类型错误 : Unrecognized keyword arguments: {'show_accuracy' : True} #yelp challenge dataset

matplotlib - pip安装matplotlib失败: 'cannot build package freetype; “python setup.py egg_info” failed with error code 1'