I\'ve created a personal PyPI \"packages\" server on a Debian 9/Nginx box so that I can make my server builds deterministic. I pin all my Python packages and need to ensure
It looks like pypi-server will best meet my needs. It succeeds in installing the packages that pip2pi failed on as I described above. It's not overly-complicated to set up and it can be run on a remote server via Nginx or Apache. I found this article Setting up a PyPI server very helpful (although it did have a couple of typos).
For my private package server, the only thing that worked was --extra-index-url:
--extra-index-url https://foo.redacted.com/
Django
my_other_package
This will check pypi first, then your private server. One thing that's helped with debugging it is to use --verbose
to show what's happening with the connection.
It looks like the pip2pi
project you are using is buggy and not maintained recently, with several open issues regarding dots/dashes in distribution names:
Issue with packages with hyphen in the name #84
Fix improper binary filename normalization for packages with hyphens in the names #67
Changed dir2pi to use original file name in file link. #85
I recommend to check out devpi-server instead.