[Distutils] Odd limitation in packaging/distutils2
Ned Deily
nad at acm.org
Fri Nov 4 18:38:17 CET 2011
In article <4EB41FF3.1080304 at netwok.org>,
Éric Araujo <merwok at netwok.org> wrote:
> Le 04/11/2011 13:11, Mark Hammond a écrit :
> > On 4/11/2011 3:53 AM, Paul Moore wrote:
> >> Agreed, it's not good. It's just that I don't know (on Windows) what
> >> things *do* make a Python build "installed". I'll see if I can find a
> >> definitive statement from somewhere...
> >
> > There really isn't anything that makes it "installed". A built Python
> > works completely fine just where it is (and indeed, will work just fine
> > if moved somewhere else). The closest thing to being "installed" on
> > windows is an "InstalledPath" (or something :) registry key for the
> > version, but that is only necessary in a limited number of contexts -
> > when some executable other than the in-place python[w].exe needs to know
> > where things are.
>
> Ah, okay. The situation is different on UNIX: Installing Python
> typically writes the file in read-only mode (one consequence: users have
> to call setup.py --user, use virtualenv or switch to the superuser to
> install things), and does not just copy the build dir (so missing data
> files in the Makefile cause bugs that can only be seen when running the
> test suite or other code from an installed Python).
One other very important difference: if the build was configured as
--enable-shared, the final installed path to the shared library is
usually captured in the built python executable. On most Unixy
platforms that means you *cannot* reliably run the python executable
from the build directory without taking some steps to override the
default dynamic library search path, i.e. usually LD_LIBRARY_PATH. In
the best case, the interpreter fails to start; in the worst, you get
deceptive behavior when the newly built interpreter executable actually
runs with a previously installed shared library. This is also true for
OS X framework builds, which are a special kind of shared-library builds.
--
Ned Deily,
nad at acm.org
More information about the Distutils-SIG
mailing list