>From "[Distutils] pip and missing shared system system library" https://mail.python.org/archives/list/distutils-...@python.org/message/7TCZJT2RDE36BJKUDU6JVTIUYHGVDVQY/ :
> Existing workarounds for building and distributing portable binaries: > > W/ shared library dependencies: > - auditwheel & manylinux > - package managers which support arbitrary binary packages in languages other than python: > - conda > - RPM / DEB / ... > - bdist_rpm > - bdist_deb > - FPM > > W/ static dependencies: > - zipapp > - bazel / buck build / pants build (BUILD files) > - py2app, py2exe, pyinstaller, > > https://github.com/vinta/awesome-python#distribution To py2app, py2exe, and pyinstaller, I'd add conda constructor: > Constructor is a tool which allows constructing an installer for a collection of conda packages. It solves needed packages using user-provided specifications, and bundles those packages. It can currently create 3 kinds of installers, which are best thought of as delivery vehicles for the bundled packages. There are shell installers, MacOS .pkg installers, and Windows .exe installers. Each of these will create an environment on the end user's system that contains the specs you provided, along with any necessary dependencies. These installers are similar to the Anaconda and Miniconda installers, and indeed constructor is used to create those installers. https://github.com/conda/constructor https://docs.python-guide.org/shipping/freezing/#freezing-your-code could be updated On Tue, Nov 24, 2020, 9:29 PM Oscar Benjamin <oscar.j.benja...@gmail.com> wrote: > On Sat, 21 Nov 2020 at 09:30, Ronald Oussoren via Python-ideas > <python-ideas@python.org> wrote: > > > > > > > > > On 20 Nov 2020, at 16:42, Ricky Teachey <ri...@teachey.org> wrote: > > > > > > I was reading the pyinstaller thread and had this idea but didn't want > to hijack. > > > > > > Maybe a wild idea, and very possible totally impractical or hopelessly > complex, but: could the existing pypi infrastructure be leveraged into a > set of platform-specific app stores? Maybe maybe we could make it as simple > as a single line in a pyproject.toml file. > > > > > > Imagine if all the end user does is install the store, and clicks the > link to the project app. The store takes care of the rest. The developer > marks their package as an installable program to be published to the store, > optionally specifying things like specific platforms if needed. All the > project website does for users to install is provide a url to their app in > the store. > > > > > > Very very rough idea of how it might work: a store app API would > provide an installation GUI if desired, and the store would build the > environment needed for installing the package and dependencies. Once the > specified environment is built, pip would take care of installing the > package as usual. > > > > > > If this is an awful idea feel free to just say so. I have given it no > deep thought and do not have the expertise to even think through what would > be needed to create such a thing. > > > > In some sense PyPI already is such a store, if you don’t mind launching > applications from the command line. > > > > That said, using PyPI in this way is not necessarily useful even > ignoring platforms where side-loading is frowned upon or even impossible. > As a user of applications I don’t really care in what language an > application is written in, I don’t wan to look in the Python App Store, or > the C# App Store, I just wan to use application A. > > Maybe a good solution could be if it was easy to put a Python-based > application into something like the Microsoft Store. It would be > useful if there was a library that could easily produce the > appropriate format for that (I don't know if one already exists) with > all dependencies bundled. > > -- > Oscar > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/XPBM6YAPZRY5OF6IDN27R6HW5I7RKZLI/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/BSYXLRQD4BECPA5CGTRUWVVL3NDL45XR/ Code of Conduct: http://python.org/psf/codeofconduct/