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_wheel when creating my package, but bdist_wheel isn't listed as one of the options when I execute python 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?
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:Uploading via twine appears to work, but if you don't use twine, it doesn't work at all:
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
uploadandbdist_wheelas these are apparently impossible with modern versions of Python?