4

我正在尝试向 pypi 发布新版本的软件包。这是使用 python 2.7,我目前的目标是使用 pythons 2.6/2.7。

相关软件包的当前版本是 0.0.2-1。(这-1是我在某处读到的构建标签约定;我正在将这种做法更改为使用bfor beta,这更相关。)

基本上,如果我有version(在setup()调用中)和构建标签(来自setup.cfg)的组合,它是 pypi 上已经存在的当前版本以外的任何内容,则registerupload命令都会失败:

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 = "ethan@the-rowes.com",
     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 尚不知道的任何总版本字符串有关。

不幸的是,当服务器以 500 代码响应--show-response时,使用时的选项是无用的;'命令仅报告服务器遇到错误的事实,没有任何有用的信息可继续。uploaddistutilsupload

关于我可以做些什么来解决问题的任何建议?

4

1 回答 1

2

我也有 500 错误,他们的诊断问题在这里:https ://sourceforge.net/tracker/index.php?func=detail&aid=3573564&group_id=66150&atid=513503 。

我使用 pdb 对其进行了调试。显然,show-response 选项并没有真正以有用的方式实现。distutils/command/register.py我在我的 Python dist 中的第 291 行放置了一个“import pdb;pdb.set_trace()”,在我的版本中,它位于方法内部post_to_server()。我在那里执行“打印 req.data”,然后通过它“下一步”,以查看安装在异常捕获中的响应。

于 2012-10-01T23:59:03.943 回答