我使用distutils创建了一个python包,它在setup.py文件中有:
setup(name = "foo",
version = "0.2.1",
...)
当我这样做时:
import pkg_resources
pkg_resources.get_distribution("foo").version
我得到0.2
而不是0.2.1
。这是为什么?我怎样才能获得完整版?谢谢。
答案 0 :(得分:2)
pkg_resources在Python安装中查找已安装的发行版。在更改版本后,您是否重新运行了python setup.py install
或python setup.py develop
?
尝试检查get_distribution
返回的对象,查找显示该位置在文件系统中的位置的属性;也许foo没有安装在您认为的位置,而是找到旧版本。
答案 1 :(得分:0)
对我来说这看起来像个错误。如果软件包安装了distutils而不是setuptools,那么pkg_resources.get_distribution()将返回安装的最旧版本。
解决问题的最佳方法是替换:
from distutils.core import setup
使用:
from setuptools import setup