pkg_resources.get_distribution("mymodule").version 重新加载后未更新
Posted
技术标签:
【中文标题】pkg_resources.get_distribution("mymodule").version 重新加载后未更新【英文标题】:pkg_resources.get_distribution("mymodule").version not updated after reload 【发布时间】:2020-02-24 23:29:55 【问题描述】:我正在使用
检查包是否过期pkg_resources.get_distribution("mymodule").version
如果版本与最新版本不匹配,我正在运行 pip install --upgrade git+...
。执行reload('mymodule')
正确表示更改,但上述sn-p 仍然显示以前的版本,即使该版本在setup.py
中被撞了
我猜该版本仅在每个 python 会话中更新?还有其他获取实时信息的方法吗?阅读最新的dist-info
目录是否安全?
【问题讨论】:
【参考方案1】:我会试试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
【讨论】:
确实,reload
似乎可以解决问题!感谢您的详细回答。以上是关于pkg_resources.get_distribution("mymodule").version 重新加载后未更新的主要内容,如果未能解决你的问题,请参考以下文章