setup.py 上传"失败,显示"上传失败 (401):您必须认证才能编辑包信息

46 投票
7 回答
13394 浏览
提问于 2025-04-15 15:04

当我运行这个代码时……

python setup.py sdist register upload

……我得到了以下输出:

running register
We need to know who you are, so please choose either:
 1. use your existing login,
 2. register as a new user,
 3. have the server generate a new password for you (and email it to you), or
 4. quit
Your selection [default 1]:  1
Username: example
Password: ...
Registering mypackage to http://pypi.python.org/pypi
Server response (200): OK
I can store your PyPI login so future submissions will be faster.
(the login will be stored in /Users/dbr/.pypirc)
Save your login (y/N)?y
running upload
Submitting dist/mypackage-1.2.1.tar.gz to http://pypi.python.org/pypi
Upload failed (401): You must be identified to edit package information

它让我保存登录信息,尽管我的~/.pypirc文件里已经有这些信息了。然后,它无法上传我拥有的一个包,而我对这个包有完全的写入权限。

7 个回答

4

我也遇到了同样的问题,这是我的解决办法。

我使用的Python版本是2.7.7,Windows版本是Windows-7-6.1.7601-SP1。

这是我的.pypirc文件

[distutils]
index-servers=pypi

[pypi]
repository = https://pypi.python.org/pypi

[server-login]
username = user
password = password

注意:

在Windows系统中,文件不能命名为“.pypirc”,请参考:

在Windows中将文件重命名为空文件名

然后把你的“.pypirc”文件放在和“setup.py”同一个文件夹里。

最后:

运行:

python setup.py sdist upload

或者:

python setup.py sdist register upload

希望这能帮到你,谢谢!

19

这里面提到的对 ~/.pypirc 的修改对我来说都没用。

我没有对 ~/.pypirc 做任何修改,但这个方法对我有效。我在命令行中加上了 "-r https://www.python.org/pypi":

python setup.py register sdist upload -r https://www.python.org/pypi

我的 ~/.pypirc 文件是这样的:

[distutils]
index-servers: pypi

[pypi]
username: dlink
password: ******** (the real one)
60

我刚发现了这个页面,它解决了这个问题:

我还注意到,虽然系统让我保存登录信息,我每次都按Y确认,但它还是一直让我输入用户名和密码。结果发现,它保存的信息不正确,具体如下:

[pypi]
username:dcramer
password:*******

把它改成这个就解决了问题:

[server-login]
username:dcramer
password:********

上面的内容需要放到用户主目录下的.pypirc文件里。

唉.. 我觉得现在是试试distribute的好时机..

撰写回答