pkg_resources.get_distribution ("mymodule"). версия не обновляется после перезагрузки - PullRequest
0 голосов
/ 29 октября 2019

Я проверяю, устарел ли пакет, используя

pkg_resources.get_distribution("mymodule").version

Если версия не соответствует последней, я запускаю pip install --upgrade git+.... Выполнение reload('mymodule') правильно представляет изменения, но вышеупомянутый фрагмент по-прежнему показывает предыдущую версию, даже если версия была увеличена до setup.py

Я полагаю, версия обновляется только для сеанса Python? Есть ли другие способы получения живой информации? Будет ли безопасно читать последнюю директорию dist-info?

1 Ответ

2 голосов
/ 29 октября 2019

Я бы дал 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

...