Как мне использовать python setup.py upload?

Я пытаюсь загрузить пакет в PyPI - но не могу. Попытка загрузки не удалась:

C:\pphp>python setup.py upload
running upload
Password:
error: No dist file created in earlier command

но я уже создал файл dist!

Затем я нашел вопрос, который имел эту проблему - принятый ответ python setup.py sdist upload, который все еще не работал:

C:\pphp>python setup.py sdist upload
running sdist
running egg_info
writing pphp.egg-info\PKG-INFO
writing top-level names to pphp.egg-info\top_level.txt
writing dependency_links to pphp.egg-info\dependency_links.txt
reading manifest file 'pphp.egg-info\SOURCES.txt'
writing manifest file 'pphp.egg-info\SOURCES.txt'
running check
creating pphp-1.2.2a1
creating pphp-1.2.2a1\pphp.egg-info
copying files to pphp-1.2.2a1...
copying README.rst -> pphp-1.2.2a1
copying setup.py -> pphp-1.2.2a1
copying pphp.egg-info\PKG-INFO -> pphp-1.2.2a1\pphp.egg-info
copying pphp.egg-info\SOURCES.txt -> pphp-1.2.2a1\pphp.egg-info
copying pphp.egg-info\dependency_links.txt -> pphp-1.2.2a1\pphp.egg-info
copying pphp.egg-info\top_level.txt -> pphp-1.2.2a1\pphp.egg-info
Writing pphp-1.2.2a1\setup.cfg
Creating tar archive
removing 'pphp-1.2.2a1' (and everything under it)
running upload
Password: (my pypi pass)
Submitting dist\pphp-1.2.2a1.tar.gz to https://upload.pypi.org/legacy/
Upload failed (403): Invalid or non-existent authentication information.
error: Upload failed (403): Invalid or non-existent authentication information.

Поскольку я предположил, что это связано с тем, что, вероятно, не был зарегистрирован, я использовал python setup.py register:

C:\pphp>python setup.py register
running register
running egg_info
writing pphp.egg-info\PKG-INFO
writing top-level names to pphp.egg-info\top_level.txt
writing dependency_links to pphp.egg-info\dependency_links.txt
reading manifest file 'pphp.egg-info\SOURCES.txt'
writing manifest file 'pphp.egg-info\SOURCES.txt'
running check
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: (my pypi username)
Password: (password)
Registering pphp to https://upload.pypi.org/legacy/
Server response (410): Project pre-registration is no longer required or supported, so continue directly to uploading files.

Так как он сказал "продолжить загрузку файлов", я попытался sdist register upload:

C:\pphp>python setup.py sdist register upload
running sdist
running egg_info
writing pphp.egg-info\PKG-INFO
writing top-level names to pphp.egg-info\top_level.txt
writing dependency_links to pphp.egg-info\dependency_links.txt
reading manifest file 'pphp.egg-info\SOURCES.txt'
writing manifest file 'pphp.egg-info\SOURCES.txt'
running check
creating pphp-1.2.2a1
creating pphp-1.2.2a1\pphp.egg-info
copying files to pphp-1.2.2a1...
copying README.rst -> pphp-1.2.2a1
copying setup.py -> pphp-1.2.2a1
copying pphp.egg-info\PKG-INFO -> pphp-1.2.2a1\pphp.egg-info
copying pphp.egg-info\SOURCES.txt -> pphp-1.2.2a1\pphp.egg-info
copying pphp.egg-info\dependency_links.txt -> pphp-1.2.2a1\pphp.egg-info
copying pphp.egg-info\top_level.txt -> pphp-1.2.2a1\pphp.egg-info
Writing pphp-1.2.2a1\setup.cfg
Creating tar archive
removing 'pphp-1.2.2a1' (and everything under it)
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: (username)
Password: (password)
Registering pphp to https://upload.pypi.org/legacy/
Server response (410): Project pre-registration is no longer required or supported, so continue directly to uploading files.
running upload
Password: (password)
Submitting dist\pphp-1.2.2a1.tar.gz to https://upload.pypi.org/legacy/
Upload failed (403): Invalid or non-existent authentication information.
error: Upload failed (403): Invalid or non-existent authentication information.

Так как регистрация больше не нужна, что я делаю не так с sdist upload? Должен ли я ввести свой пароль PyPI (что я пытаюсь) или что-то еще, или мне сначала нужно сделать что-то отдельное?

1 ответ

Решение

Вместо этого я использовал Linux и twine работал нормально - должно быть, я что-то напутал в Windows. Это было решено!

Большинство подобных вопросов также должны быть решены после перехода PyPI на https://pypi.org/ с https://pypi.python.org/.

Другие вопросы по тегам