Why exe? How do you package libraries using this new tool you are envisioning?
But a good package manager should ALSO allow you to produce a:
- a stand alone executable for most OS.
- a standard package for major OS (msi, deb, snap, rpm, dmg, etc).
Doing that right now with Python requires you to setup stuff like nuikta and the like. It works but it's much harder than it should be.
Windows and OS X are always a pain in the ass, but that's more an issue of the platforms lacking in package management than anything else.
Now pipenv centralize stuff we were doing anyway.
We should have a tool to centralize those as well.
Do you have a setup.py? No, then it's not going to be on PyPi anyway so ignore the rest of this since you'll need to figure out how to package this special snowflake.
0. Run `yum install -y rpmdevtools mock`
1. Run `rpmdev-newspec python-mypackage`.
2. Run `python setup.py sdist`
3. Modify the .spec as appropriate to add dependencies the package requires as well as set the version correctly.
4. Run `mock -r fedora-25-x86_64 --buildsprm python-mypackage.spec`
5. Run `mock -r fedora-25-x86_64 --rebuild python-mypackage.f25.src.rpm`
Done, there's your RPM, debian packaging is roughly as simple (I'm less a fan because of how they try to fudge a Makefile into an adequate tool for package building, but hey, most everything can be built automatically by dh so the average makefile is ~3 lines).
The biggest problem with learning this is simply finding the right documentation, Fedora has some pretty great guides for new packagers on the wiki.