2009-10-14 5 views
46

gdy uruchomiony .."setup.py Upload" zawodzi z "Przesyłanie nie powiodło się (401): Musisz być zidentyfikowany, aby edytować informacje pakiet"

python setup.py sdist register upload 

..I uzyskać następujące dane wyjściowe:

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 

To monit o zapisanie danych logowania, mimo że już to zawiera. Wtedy nie może przesłać plików dla posiadanego pakietu i mieć pełny dostęp do zapisu.

+0

sam błąd jest w setuptools do 2,7. Spróbuj użyć Pythona 2.6. – DenisKolodin

Odpowiedz

61

Wystarczy znaleźć this page, który rozwiązuje ten problem:

Zauważyłem również, że podczas gdy prosił mnie, aby zapisać swoje dane logowania i uderzę Y za każdym razem, to jeszcze poprosił mnie o nazwę użytkownika i hasło. Okazało się, że został nieprawidłowo zapisywania informacji w sposób następujący:

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

Zmiana ją do tego rozwiązać problemy:

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

Powyższa zawartość trafia do .pypirc file w katalogu domowym użytkownika .

Fuj .. Myślę, że to może być dobry moment, aby dać distribute spróbować ..

+0

Ta poprawka działała również dla mnie, dzięki. Wygląda jak błąd w distutils? –

+0

@Chris Całkiem prawdopodobne .. Nie zauważyłem tego ostatnio (może być naprawiony), ale ostatnio nie używałem distutils – dbr

+0

Po prostu spędziłem 2 lub więcej godzin ścigając duchy i obserwowałem wschodzące słońce przez okno mojego biura, ponieważ opadu z tego niedorzecznego błędu. Jestem na Pythonie 2.6 btw. – dkamins

4

Mam ten sam problem, to jest moje rozwiązanie.

Wersja pytona to 2.7.7, moja wersja systemu Windows to Windows-7-6.1.7601-SP1.

tutaj jest mój plik .pypirc

[distutils] 
index-servers=pypi 

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

[server-login] 
username = user 
password = password 

Wskazówka:

W oknach, plik nie jest dozwolone nazwany „.pypirc”, plz, patrz:

Rename files to empty filename in Windows

Następnie umieść plik ".pypirc" w tym samym folderze za pomocą "setup.py"

Wreszcie:

run:

python setup.py sdist upload 

czyli

python setup.py sdist register upload 

Mam nadzieję, że to będzie pomoc, dziękuję!

1

Mam ten problem i rozwiązałem go, umieszczając plik .pypirc w moim katalogu domowym (~ /), jak sugeruje ostatnia przeszłość pierwszego komentarza.

Nie potrzebowałem modyfikować nazwy sekcji "pypi" pliku pypirc dla "logowania na serwer", co sugerowano również w pierwszym komentarzu.

0

Zmieniłem [distutils] na [pypirc] zgodnie z docs i to działało dla mnie.

Oto moja ~/.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:**** 
18

Żadna ze zmian w ~/.pypirc wymienionych tu pracował dla mnie.

To zadziałało dla mnie, bez żadnych zmian w ~/.pypirc. Dodałem "-r https://www.python.org/pypi" do wiersza poleceń:

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

Moja ~/.pypirc wygląda to

[distutils] 
index-servers: pypi 

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

Nie mogę zrozumieć dlaczego, ale wygląda na to, że twój przykład działał jak sugeruje. Dziękuję – vskubriev

+0

Działa nawet bez hasła przechowywanego w '.pypirc'. Zamiast tego zostaniesz zapytany. – Rotareti

0

miałem ten problem, z powodu własnej winy, ale mam nadzieję, że może to komuś pomóc jeszcze kto popełnia ten sam błąd.

Używam Pythona 3 na Linux Ubuntu, podczas rejestracji wydałem polecenie setup używając sudo! W rezultacie plik .pypirc w moim katalogu domowym był własnością root'a i nie można go było odczytać podczas próby przesłania modułu natychmiast po tym, jak nie był uprzywilejowanym użytkownikiem.

Zmieniając własność pliku we własnym imieniu, problem został rozwiązany.

Powiązane problemy