Я пытаюсь выпустить новую версию пакета для pypi. Это использует python 2.7, и в настоящее время я нацелен на питонов 2.6 / 2.7 для потребления.
Текущий выпуск рассматриваемого пакета - 0.0.2-1. (-1
- это соглашение о тегах сборки, которое я где-то читал; я изменяю эту практику, чтобы использовать b
для beta
, что более актуально.)
По сути, если у меня есть комбинация version
(в вызове setup()
) и тега сборки (из setup.cfg
), который отличается от текущей версии, уже установленной на pypi, обе команды register
и upload
не работают:
ethan@walrus:~/source/python-mandrel$ python setup.py register
running register
running egg_info
writing requirements to mandrel.egg-info/requires.txt
writing mandrel.egg-info/PKG-INFO
writing top-level names to mandrel.egg-info/top_level.txt
writing dependency_links to mandrel.egg-info/dependency_links.txt
writing entry points to mandrel.egg-info/entry_points.txt
reading manifest file 'mandrel.egg-info/SOURCES.txt'
writing manifest file 'mandrel.egg-info/SOURCES.txt'
running check
Registering mandrel to http://pypi.python.org/pypi
Server response (500): There's been a problem with your request
Это с версией 0.0.3
и тегом сборки b
.
Но если я применю этот патч:
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,3 +1,3 @@
[egg_info]
-tag_build = b
+tag_build = -1
diff --git a/setup.py b/setup.py
index 14761cf..beb8278 100644
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,7 @@ import os
setup(
name = "mandrel",
- version = "0.0.3",
+ version = "0.0.2",
author = "Ethan Rowe",
author_email = "[email protected]",
description = ("Provides bootstrapping for sane configuration management"),
Тогда вызов register
(и предположительно upload
) будет успешным:
ethan@walrus:~/source/python-mandrel$ python setup.py register
running register
...
running check
Registering mandrel to http://pypi.python.org/pypi
Server response (200): OK
Если я изменю тег сборки на -2
, скажем, вызов register
снова завершится ошибкой. Это говорит о том, что сбой связан с любой строкой общей версии, которая еще не известна pypi.
К сожалению, опция --show-response
при использовании upload
бесполезна, когда сервер отвечает кодом 500; distutils
'upload
просто сообщает о том, что на сервере произошла ошибка, и ничего полезного не происходит.
Есть предложения по устранению неполадок?