2014-02-17 3 views
15

Ich folgte dem Leitfaden How to submit a package to PyPI, um ein Paket einzureichen. Es throwed den Fehler unten:Wie behebt man das Problem "PyPI-Test nicht in .pypic gefunden", wenn Paket an PyPI gesendet wird?

 

    Traceback (most recent call last): 
     File "setup.py", line 27, in 
     'Programming Language :: Python', 
     File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup 
     dist.run_commands() 
     File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands 
     self.run_command(cmd) 
     File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command 
     cmd_obj.run() 
     File "/usr/lib/python2.6/site-packages/setuptools/command/register.py", line 9, in run 
     _register.run(self) 
     File "/usr/lib64/python2.6/distutils/command/register.py", line 33, in run 
     self._set_config() 
     File "/usr/lib64/python2.6/distutils/command/register.py", line 84, in _set_config 
     raise ValueError('%s not found in .pypirc' % self.repository) 
    ValueError: PyPI-test not found in .pypirc 

Meine .pypirc Datei Kontext ist:

 

    [distutils] # this tells distutils what package indexes you can push to 
    index-servers = 
     PyPI # the live PyPI 
     PyPI-test # test PyPI 

    [PyPI] # authentication details for live PyPI 
    repository: https://PyPI.python.org/PyPI 
    username: {{username}} 
    password: {{password}} 

    [PyPI-test] # authentication details for test PyPI 
    repository: https://testPyPI.python.org/PyPI 
    username: {{username}} 

Mein OS env ist

CentOS release 6.2 (Final)
und Python env ist
Python 2.6.6
.

Was ist der Grund und wie man es beheben kann?

+1

Ich glaube, der entscheidende Punkt ist, wo die .pyirc-Datei gehen soll. Siehe meine Antwort unten. – Overdrivr

Antwort

1

Ich ersetzt "PyPI"/"PyPItest" beide in Kleinbuchstaben: "Pypi"/"Pypi-Test". Der Fehler ist verschwunden, aber ein weiterer Fehler wird angezeigt:

Server response (403): You are not allowed to store 'mypackage' package information. 
13

Stellen Sie sicher, dass sich Ihre .pypirc-Datei in Ihrem/home-Verzeichnis befindet.

+0

Das gibt mir 'Python: kann Datei 'setup.py' nicht öffnen: [Errno 2] Keine solche Datei oder Verzeichnis ' – Pithikos

0

Ich benutzte Pypitest, anstatt Pypi-Test. Funktioniert wie Charme.

ich folgen Sie den Anweisungen von Peter Downs

3

Wenn ich diesen Fehler bekam, änderte ich meine .pypirc-Datei:

[distutils] 
index-servers = 
    pypi 
    test 

[pypi] 
repository: https://pypi.python.org/pypi 
username: {{username}} 
password: {{password}} 

[test] 
repository: https://testpypi.python.org/pypi 
username: {{username}} 
password: {{password}} 

und dann lief ich:

python setup.py register 

statt:

python setup.py register -r pypitest 

Dies hat mich zu meinem Benutzernamen und Passwort aufgefordert, das ich eingegeben und erfolgreich registriert habe. Hinweis Ich folgte Peter Downs' Guide

Ich erkannte, dass dies nicht auf pypitest hochgeladen, aber ich habe es immer noch geschafft, mein Modul zu Pypi mit dieser Methode zu registrieren.

+0

Ich habe ein ähnliches Problem. Wo hast du jemals eine Lösung gefunden, mit der du zu testpypi hochladen kannst? Ich bin auf Windows 7. –

+0

Leider konnte ich nicht, sorry. – Einstein

+0

@Einstein: überprüfen Sie meine Antwort. Es gibt ein klares Problem mit Ihrem Befehl, Sie tippen "-r pypitest", aber Ihr Repo heißt "test". Dies kann nicht funktionieren – Overdrivr

1

Sie sollten die Kommentare hier seit distutils entbindet sie nicht richtig analysieren:

index-servers = 
     PyPI # the live PyPI 
     PyPI-test # test PyPI 

Also einfach:

index-servers = 
     PyPI 
     PyPI-test 

Oder vielleicht sogar besser nicht verwenden gemischten Fall und Striche für die Repository-Namen, wie Junchen vorschlägt. Bei der aktuellen Version sollte es allerdings funktionieren. Einige Fallen

15

zu vermeiden, um diese Arbeit zu machen:

Die .pyirc-Datei im Verzeichnis HOME erwartet wird. Dies gilt für Windows und Unix.

Wenn es nicht funktioniert, liegt es daran, dass die .pypirc-Datei nicht in dem Pfad gefunden wird, der von der HOME-Variable angegeben wird.

unter Windows, um zu wissen, was Ihr Weg ist:

  • Mit Powershell (wenn Sie pew verwenden virtualenv zum Beispiel zu verwalten), echo $HOME.

  • mit Standard-Windows-Konsole, echo %HOMEPATH% (ja, sprechen von "Portabilität")

Dann legen Sie die .pypirc Datei direkt auf diesem Weg.

Wie für die Datei, vergessen Sie nicht die disttitil Teil, sonst wird es nicht funktionieren. Ihre Datei wie das genau sein soll:

[distutils] 
index-servers = 
    pypi 
    pypitest 

[pypitest] 
repository = https://testpypi.python.org/pypi 
username = <your user name goes here> 
password = <your password goes here> 

[pypi] 
repository = https://pypi.python.org/pypi 
username = <your user name goes here> 
password = <your password goes here> 

Meine Intuition sagt mich nicht die pypi Repository-Namen anpassen, nicht sicher, ob es funktioniert anders.

Dann, wenn Sie den Befehl ausführen, bieten einfache die -r (Repository) Flagge mit pypitest

python setup.py register -r pypitest 

Und das sollte es tun.

+1

Es funktioniert. Das Problem für mich war der Speicherort meiner '.pypirc' Datei. –

+2

@ Nu-Everest Die Python-Verpackung Benutzerhandbuch ist wirklich nicht klar, ich bin nicht einmal sicher, es erwähnt, wo die Datei gehen sollte. Schön, dass Sie Ihr Problem lösen können. – Overdrivr

Verwandte Themen