Earlier this year, somebody pointed out that it might be worthwhile to
coordinate around package names used in distros, and in this case proposing a
python3-full package.  The idea is to have some common names used across
distributions which can be used to tell users and developers what to install for
the full Python experience.  That could become just some documentation, or an
informal PEP.

Today, every distributions splits the upstream CPython source into multiple
binary packages, mostly into runtime, development, documentation packages, and
maybe packages with seldom used dependencies like Tcl/Tk.

For the upcoming Debian release, I have created a python3-full package, which
depends on all binary packages built from the CPython source package, so people
can install everything using 'apt install python3-full'.   I didn't create
something like a python3-full-dev package.  Note that the name python3-full is
provisional for now, and I'm happy to change it to anything that we can come up
with.  One thing I would like to avoid is to re-purpose any other existing name
for a meta/dependency package name, as this would have consequences for
dependencies in a Linux distribution, requires some cycles to change, and isn't
that easy to backport to older releases than any new package name.

One more thing that came up when preparing the "Draft PEP: Graceful cooperation
between external and Python package managers", there maybe should be a
meta-package which also includes dependencies on pip and pipx.  Pip usually
comes with the binary CPython installers for MacOS and Windows, so it might make
sense to define such a meta package for Posix bases distros as well.

Currently my proposal for a python3-full package would consist of

 - the complete standard library (what is inside Lib and Modules)
 - all development files
 - all documentation files (if built locally)
 - the complete testsuite
 - dependencies on required system dependencies, which are not
   itself shared libaries:
   - tzdata
   - media-types
   - ca-certificates? Not sure if that is needed
 - dependencies on the wheel files shipped with the distro. At
   least for Debian, I cannot use ones provided in CPython,
   because they are not built from source.  The wheel files built
   from the setuptools and pip packages are used instead.

The python3-full package currently doesn't depend on any compiler packages (gcc,
gfortran), or build tools like make.

Any thoughts on this proposal?

Matthias
_______________________________________________
Linux-sig mailing list -- linux-sig@python.org
To unsubscribe send an email to linux-sig-le...@python.org
https://mail.python.org/mailman3/lists/linux-sig.python.org/
Member address: arch...@mail-archive.com

Reply via email to