-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
I'm trying to follow the proper process for creating a package and am having far too much trouble.
-
The package submission page on the current site lists the installation preference of twine, register, and web form.
-
The documentation that page points to tells you to use a web form to create an account, upload a PKG-INFO file via another form, but use twine for everything else while defining a ~/.pypirc file that points to
https://upload.pypi.org/legacy/. -
The page also tells me to use
bdist_wheelwhen creating my package, but bdist_wheel isn't listed as one of the options when I executepython setup.py --help-commands:$ python setup.py bdist_wheel usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: setup.py --help [cmd1 cmd2 ...] or: setup.py --help-commands or: setup.py cmd --help error: invalid command 'bdist_wheel' -
Uploading via twine appears to work, but if you don't use twine, it doesn't work at all:
$ python setup.py sdist upload error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>I note that the docs say "not recommended" but I took that to mean "use this if your system doesn't have a package for twine. It'll work, just not as nicely".
From much digging around the web I see references to older versions of Python 2 not checking certificates and that a downgrade is the recommended solution in this case (though I don't see the logic there). As I'm currently using Python 3.4 that wasn't going to happen.
As my distro (Gentoo) doesn't have a package for twine, I had to install it into my virtualenv to deploy a package unrelated to it. This is annoying, but manageable. The real problem for me is that the documentation refers to using upload and bdist_wheel as these are apparently impossible with modern versions of Python?