To distribute python binaries (interpreter + extensions) on linux one need to compile it using the lowest common denominator (eg. some linux distro really old, like rhel6). Later when a user need to build an extension that might not be possible (because the running host might not have a compatible compiler).
So I think a good idea would be starting from the toolchain (eg. in my case I use gcc 9.2.x).
These days if I need to use java/node/etc. I won't go through the re-building the interpreter/jvm. Does that make sense?
On Thu, 2 Apr 2020 at 20:39, Wes Turner firstname.lastname@example.org wrote:
So you want to import from / call into what would be in $prefix/lib & $prefix/include?
How is the SDK archive use case different from the package archive use case?
On Thu, Apr 2, 2020, 8:32 PM Antonio Cavallo email@example.com wrote:
Yes, I'm aware of those.. providing an application wouldn't be what I have in mind.
The point would be providing a python sdk, similar to what node/java/.net provide. something it would possible to build upon. Those are distributed as stand alone "zip" to the general public.
On Thu, 2 Apr 2020 at 20:15, Wes Turner firstname.lastname@example.org wrote:
Would e.g. pyinstaller or constructor solve the problem?
PyInstaller bundles a Python application and all its dependencies into
a single package. The user can run the packaged app without installing a Python interpreter or any modules. PyInstaller supports Python 2.7 and Python 3.5+, and correctly bundles the major Python packages such as numpy, PyQt, Django, wxPython, and others.
PyInstaller is tested against Windows, Mac OS X, and GNU/Linux.
However, it is not a cross-compiler: to make a Windows app you run PyInstaller in Windows; to make a GNU/Linux app you run it in GNU/Linux, etc. PyInstaller has been used successfully with AIX, Solaris, FreeBSD and OpenBSD but testing against them is not part of our continuous integration tests.
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.
One advantage of ~ 'dynamic linking' / not shipping the python binary is that you then don't need to sign and distribute new releases for every minor release of cpython
On Thu, Apr 2, 2020, 8:09 PM Antonio Cavallo < email@example.com> wrote:
Not quite, my hope is to have a python tarball similar to the "Windows x86 embeddable zip file" but for linux. Similar to miniconda but for plain python, or sort of python "sdk", if that makes sense.
PS. I didn't know about the core workflow, thanks
On Thu, 2 Apr 2020 at 19:55, Wes Turner firstname.lastname@example.org wrote:
These run in Docker containers:
These are all of the current builds; are you proposing another?
Basically we provide a compatibility shim in buildbot that allows it
to consume a .travis.yml file.
buildbot_travis does however not support the full .travis.yml format.
On Thu, Apr 2, 2020, 6:36 PM Antonio Cavallo < email@example.com> wrote:
Hi is there any interest (or anyone has done it before), building the python interpreter using docker?
The basic idea is building the toolchain (gcc) and on top of that the python interpreter. On mac/linux it can build natively, but it can use docker to target linux from mac/windows.
Thanks _______________________________________________ Python-ideas mailing list -- firstname.lastname@example.org To unsubscribe send an email to email@example.com https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://firstname.lastname@example.org/message/DX7WNX... Code of Conduct: http://python.org/psf/codeofconduct/