получить полную версию модуля Python с помощью pkg_resources - PullRequest
1 голос
/ 24 февраля 2012

Я сделал пакет python, используя distutils, который в файле setup.py имеет:

setup(name = "foo",
      version = "0.2.1",
      ...)

, когда я делаю:

import pkg_resources
pkg_resources.get_distribution("foo").version

Я получаю 0.2, а не 0.2.1.Это почему?как я могу получить полную версию?спасибо.

Ответы [ 2 ]

2 голосов
/ 25 февраля 2012

pkg_resources ищет установленные дистрибутивы в вашей установке Python. Вы перезапустили python setup.py install или python setup.py develop после изменения версии?

Попробуйте проверить объект, возвращаемый get_distribution, для атрибута, показывающего, где находится местоположение в файловой системе; возможно, foo не установлен там, где вы думаете, и вместо него найдена более старая версия.

0 голосов
/ 29 апреля 2013

Это похоже на ошибку для меня. Если пакет был установлен с distutils вместо setuptools, то pkg_resources.get_distribution () возвращает самую старую установленную версию.

Лучший способ исправить это заменить:

from distutils.core import setup

с:

from setuptools import setup
...