[Distutils] Trouble installing Myghty with --prefix
Phillip J. Eby
pje at telecommunity.com
Wed Nov 30 18:03:39 CET 2005
At 10:32 AM 11/30/2005 -0600, Ian Bicking wrote:
>skip at pobox.com wrote:
> > I tried installing Myghty 0.99a using this command:
> >
> > python setup.py install --prefix=/usr/local/mojam
> >
> > (e.g., non-standard install location). It downloaded setuptools and
> > installed a bunch of other stuff (Paste, etc), all available as eggs.
> > Unfortunately, it didn't create packages and didn't make the pkg_resources
> > module available. Any hints about how to get this working would be
> > appreciated. (I have no idea what other details you'll need, never having
> > used setuptools - directly or indirectly. Let me know if there's more
> I can
> > do to explain the situation.)
>
>I suspect it's because setuptools didn't think that
>/usr/local/mojam/lib/... was on the normal site path, and so .pth files
>aren't read from the location. And when .pth files aren't read, the
>eggs won't be put on the path automatically (though I don't know quite
>how setuptools can work at all when that happens).
That's correct. Skip, if you want to use a custom install location using
PYTHONPATH, you need to read this section:
http://peak.telecommunity.com/DevCenter/EasyInstall#traditional-pythonpath-based-installation
Your configuration, however, would be something like:
[install]
prefix = /usr/local/mojam
[easy_install]
site_dirs = /usr/local/mojam/lib/python2.4/site-packages
instead of the configurations shown there.
>There's non-root installation instructions on the setuptools site (and
>maybe included in easy_install now?) that will create a full Python
>environment in a non-standard location, which would probably resolve
>this issue.
Right; the other option is to use this approach:
http://peak.telecommunity.com/DevCenter/EasyInstall#creating-a-virtual-python
There's a 'virtual-python' script linked there that will set it up for you;
you would run:
virtual-python.py --prefix=/usr/local/mojam
to set it up. This should not delete any existing files there, just add
symlinks and create a /usr/local/mojam/bin/python executable that will
think its sys.prefix is /usr/local/mojam. (It will overwrite
/usr/local/mojam/bin/python, though, if it already exists.)
In contrast to the other approach above, the "virtual" Python installation
will not need any special configuration, because as far as it knows, it was
built to live in /usr/local/mojam and all its defaults and installation
locations will work fine. At that point you should make sure that
/usr/local/mojam/bin is on PATH, and use that Python for everything from
then on.
More information about the Distutils-SIG
mailing list