pkg_resources.get_distribution("mymodule").重新加载后版本未更新

pkg_resources.get_distribution("mymodule").version not updated after reload

我正在使用

检查包裹是否已过期
pkg_resources.get_distribution("mymodule").version

如果版本与最新版本不匹配,我是 运行 pip install --upgrade git+...。执行 reload('mymodule') 可以正确表示更改,但上述代码段仍然显示以前的版本,即使版本在 setup.py

中有所提升

我猜版本只在每个 python 会话更新?还有其他获取实时信息的方法吗?阅读最新的 dist-info 目录是否安全?

我会 reload(pkg_resources) 试试看:

>>> import pkg_resources
>>> pkg_resources.get_distribution('thing').version
'0.0.0.dev1'
>>> # in a different shell session install the new version of thing
... 
>>> pkg_resources.get_distribution('thing').version
'0.0.0.dev1'
>>> import importlib
>>> importlib.reload(pkg_resources)
<module 'pkg_resources' from '/tmp/tmp.VEueUV76hD/Thing/.tox/develop/lib/python3.6/site-packages/pkg_resources/__init__.py'>
>>> pkg_resources.get_distribution('thing').version
'0.0.0.dev2'

https://github.com/pypa/setuptools/issues/373