2015-11-28 27 views
7

Sto tentando di registrare un pacchetto su pyPI. Dopo aver creato un .pypirc che assomiglia"Risposta del server (401): è necessario accedere per accedere a questa funzione" quando si registra il pacchetto su pypi

[distutils] # this tells distutils what package indexes you can push to 
index-servers = 
    pypi 
    pypitest 

[pypi] 
repository: https://pypi.python.org/pypi 
username: "amfarrell" 
password: "I dont post my passphrase publicly" 

[pypitest] 
repository: https://testpypi.python.org/pypi 
username: "amfarrell" 
password: "I dont post my passphrase publicly" 

corro python setup.py register -r pypitest ed ottengo un errore che termina in "di risposta del server (401): Devi effettuare il login per accedere a questa funzione". Come posso accedere a pypi dal terminale?

Ho anche ricevuto l'errore "Caricamento fallito (401): è necessario essere identificati per modificare le informazioni sul pacchetto" quando eseguo python setup.py sdist upload.

+0

Perché stai provando a utilizzare * il server di prova PyPI *? *? –

risposta

2

Il problema sono le virgolette attorno alla passphrase in ~/.pypirc. Il modo più semplice per risolvere questo è semplicemente mv ~/.pypirc ~/dot-pypirc ed eseguire python setup.py register.

+0

Questo non usa affatto la configurazione sulla mia macchina, ma richiede l'input dell'utente – timdiels

1

A giudicare da alcune prove, Server response (401): You must login to access this feature indica errore di autenticazione. Ciò accade quando:

  1. le credenziali non sono corrette.
  2. non hai creato un account in corrispondenza di tale indice.
  3. si sta utilizzando Python 3 e dispone di una% la password - vedi here for solution

Le quotazioni sono trattati come parte della password/nome utente, così, come hai notato, è necessario rimuoverli.

+0

La ritengo la risposta migliore - se "python setup.py registra -r pypitest' non si lamenta di un repository non trovato, significa che il .pypirc è usato ... – benzkji

0

Ho riscontrato questo errore su Windows e la soluzione era impostare la variabile di ambiente HOME sulla directory in cui si trova il file .pypirc. Il mio file .pypirc si presenta così:

[pypirc] 
servers = pypi 
[server-login] 
username:<USERNAME> 
password:<PASSWORD> 

Impostare il terminale env-var e restart e dovrebbe funzionare.

4

Ho riscontrato questo problema e il problema era che non avevo un account sul server di prova PyPI: utilizzano un DB utente diverso, quindi è necessario registrarsi lì e il server principale.

+0

Sì, questo è successo anche a me, l'url per la registrazione per il repository di test è: https://testpypi.python.org/pypi – juanjux