загрузка шпагата дистанция. Получить ошибку: недопустимое значение для версии

Я пытаюсь загрузить свой пакет с помощью команды twine upload dist/*. и я получаю сообщение об ошибке:

Client Error: 'X.Y.ZZ.post0.dev0-g83905ac' is an invalid value for Version. Error:

Мне кажется, что версия X.Y.ZZ.post0.dev0-g83905ac удовлетворяет PEP 440. Я не понимаю, что происходит.

Я создал тег аннотации и т. д. Думаю, я уже создал этот тег.

$ git tag -a vX.Y.ZZ  # Don't forget the leading v
fatal: tag 'vX.Y.ZZ' already exists

Я заметил, что команда sdist возвращает ошибку:

user:package user-13$ python3 setup.py sdist
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/setuptools/dist.py:483: UserWarning: The version specified ('X.Y.ZZ.post0.dev0+g83905ac') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.
  "details." % self.metadata.version

У меня есть самые новые версии всего:

user:package user-13$ pip3 --version
pip 19.2.3 from /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7)
user: package femto-13$ python3 --version
Python 3.7.4
user: package femto-13$ twine --version
twine version 1.14.0 (pkginfo: 1.5.0.1, requests: 2.22.0, setuptools: 41.2.0,
requests-toolbelt: 0.9.1, tqdm: 4.35.0)

История:

  917  git tag -a vX.Y.ZZ  # Don't forget the leading v
  918  git push origin vX.Y.ZZ
  919  python3 setup.py sdist
  920  python3 setup.py bdist_wheel
  921  twine upload dist/*

Вот результат команды шпагата:

user:package user-13$ twine upload dist/*
Uploading distributions to https://upload.pypi.org/legacy/
Uploading py_package-X.Y.ZZ.post0.dev0_g83905ac-py3-none-any.whl
100%|███████████████████████████████████████████████████████████████████████| 18.5k/18.5k [00:00<00:00, 37.9kB/s]
NOTE: Try --verbose to see response content.
HTTPError: 400 Client Error: 'X.Y.ZZ.post0.dev0-g83905ac' is an invalid value for Version. Error: Start and end with a letter or numeral containing only ASCII numeric and '.', '_' and '-'. See https://packaging.python.org/specifications/core-metadata for url: https://upload.pypi.org/legacy/

Я обновил тег до 0.0.1 и стер все теги XYZ.


person Valentyn    schedule 12.09.2019    source источник


Ответы (1)


Версия X.Y.ZZ.post0.dev0-g83905ac не является допустимым номером версии для PyPI. Он содержит хэш фиксации g83905ac, а PEP 440 говорит:

Многие инструменты сборки интегрируются с распределенными системами контроля версий, такими как Git и Mercurial, чтобы добавить к идентификатору версии идентифицирующий хэш. Поскольку хэши нельзя надежно упорядочить, такие версии не разрешены в поле общедоступной версии.

person Dustin Ingram    schedule 20.09.2019