
On Mon, Mar 23, 2015 at 04:14:52PM +0100, Antoine Pitrou wrote:
On Mon, 23 Mar 2015 08:06:13 -0700 Toshio Kuratomi <a.badger@gmail.com> wrote:
I really think Donald has a good point when he suggests a specific virtualenv for system programs using Python.
The isolation is what we're seeking but I think the amount of work required and the added complexity for the distributions will make that hard to get distributions to sign up for.
If someone had the time to write a front end to install packages into a single "system-wide isolation unit" whose backend was a virtualenv we might be able to get distributions on-board with using that.
I don't think we're asking distributions anything. We're suggesting a possible path, but it's not python-dev's job to dictate distributions how they should package Python.
The virtualenv solution has the virtue that any improvement we might put in it to help system packagers would automatically benefit everyone. A specific "system Python" would not.
The front end would need to install software so that you can still invoke /usr/bin/system-application and "system-application" would take care of activating the virtualenv. It would need to be about as simple to build as the present python2 setup.py build/install with the flexibility in options that the distros need to install into FHS approved paths. Some things like man pages, locale files, config files, and possibly other data files might need to be installed outside of the virtualenv directory.
Well, I don't understand what difference a virtualenv would make. Using a virtualenv amounts to invoking a different interpreter path. The rest of the filesystem (man pages locations, etc.) is still accessible in the same way. But I may miss something :-)
<nod> I think people who are saying "The system should just use virtualenv" aren't realizing all of the reasons that's not as simple as it sounds for distributions to implement. thus the work required to implement alternate solutions like a system python may seem less to the distros unless those issues are partially addressed at the virtualenv and python-packaging level. -Toshio