[Python-Dev] Python and the Linux Standard Base (LSB)

Mike Orr sluggoster at gmail.com
Thu Nov 30 23:46:22 CET 2006

On 11/29/06, glyph at divmod.com <glyph at divmod.com> wrote:
> The major advantage ~/.local has for *nix systems is the ability to have a
> parallel *bin* directory, which provides the user one location to set their
> $PATH to, so that installed scripts work as expected, rather than having to
> edit a bunch of .foorc files to add to your environment with each additional
> package.  After all, what's the point of a per-user "install" if the
> software isn't actually installed in any meaningful way, and you have to
> manually edit your shell startup scripts, log out and log in again anyway?
> Another nice feature there is that it uses a pre-existing layout convention
> (bin lib share etc ...) rather than attempting to build a new one, so the
> only thing that has to change about the package installation is the root.

Putting programs and libraries in a hidden directory?  Things the user
intends to run or inspect?  Putting a hidden directory on $PATH?
I'm... stunned.  It sounds like a very bad idea.  Dotfiles are for a
program's internal state: "black box" stuff.  Not programs the user
will run, and not Python modules he may want to inspect or subclass.
~/bin and ~/lib already work well with both Virtual Python and
./configure, and it's what many users are already doing.

On the other hand, the freedesktop link says ~/.local can be
overridden with environment variables.  That may be an acceptable
compromise between the two.

Speaking of Virtual Python [1], I've heard some people recommending it
as a general solution to the "this library breaks that other
application" problem and "this app needs a different version of X
library than that other app does".  I've started using it off and on
but haven't come to any general conclusion on it.  Is it becoming
pretty widespread among Python users.  Would it be worth mentioning in
the LSB/FHS?  It only works on *nix systems currently, but Linux is a
*nix system anyway.

[1] http://peak.telecommunity.com/dist/virtual-python.py
(It installs a pseudo copy of Python symlinked to the system one,
so that you have your own site--packages directory independent of others )

Mike Orr <sluggoster at gmail.com>

More information about the Python-Dev mailing list