可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
When running..
python setup.py sdist register upload
..I get the following output:
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
It's prompting to save the login details, despite ~/.pypirc
already containing this. It then fails to upload files for a package I own, and have full write-access to.
回答1:
Just found this page, which solves the issue:
I also noticed that while it was asking me to save my login information, and I hit Y everytime, it still asked me for the username and password. It turned out that it was saving the information incorrectly as follows:
[pypi]
username:dcramer
password:*******
Changing it out to this solved the problems:
[server-login]
username:dcramer
password:********
The above content goes into the .pypirc
file in the user's home directory.
Ugh.. I think this may be a good time to give distribute a try..
回答2:
None of the changes to ~/.pypirc listed here worked for me.
This worked for me, with no changes to ~/.pypirc. I added "-r https://www.python.org/pypi" to the command line:
python setup.py register sdist upload -r https://www.python.org/pypi
My ~/.pypirc looks like this
[distutils]
index-servers: pypi
[pypi]
username: dlink
password: ******** (the real one)
回答3:
I have the same problem, This is my solution.
The python version is 2.7.7, my windows version is Windows-7-6.1.7601-SP1.
here is my .pypirc file
[distutils]
index-servers=pypi
[pypi]
repository = https://pypi.python.org/pypi
[server-login]
username = user
password = password
Notice:
In windows, A file is not allowed named as “.pypirc”,plz,refer to:
Rename files to empty filename in Windows
Then put you ".pypirc" file in the same folder with "setup.py"
At last:
run :
python setup.py sdist upload
or:
python setup.py sdist register upload
I hope this will be help,thank you!
回答4:
I have this problem and solved it by putting the file .pypirc under my home directory (~/), as the last past of the first comment suggests.
I didn't have the need to modify the name of the section "pypi" of the file pypirc for "server-login", as suggested also in the first comment.
回答5:
I changed [distutils]
to [pypirc]
as per the docs and this worked for me.
Here is my ~/.pypirc
file:
[pypirc]
index-servers =
pypi
pypitest
[pypi]
repository=https://pypi.python.org/pypi
[pypitest]
repository=https://testpypi.python.org/pypi
[server-login]
username:stav
password:****
回答6:
I had this problem, due to my own fault but hopefully this may help someone else who makes this same mistake.
I'm using python 3 on Linux Ubuntu, during registration I issued the setup command using sudo! The result was the .pypirc file in my home directory was owned by root and wasn't readable when trying to perform a module upload immediately after as a none privileged user.
By changing the ownership of the file to myself, the issue was resolved.
回答7:
I ran into the same problem. I'm on a new OS X Sierra. Adding [server-login] entry to ~/.pypirc seemed to fix it
http://www.seanbehan.com/how-to-fix-pypi-upload-failed-403-invalid-or-non-existent-authentication-information/