[issue8357] distutils does not allow installation with --root and --prefix, and give's incorrect error message

Tarek Ziadé report at bugs.python.org
Fri Apr 9 18:23:43 CEST 2010

Tarek Ziadé <ziade.tarek at gmail.com> added the comment:

== prefix == 

With prefix, you need to make sure the target site-packages is in your PYTHONPATH:

  PYTHONPATH=/tmp/foo/lib/python2.6/site-packages/ python setup.py install --prefix=/tmp/foo

And here, prefix is used as the base location, and the command uses the schemes defined
for each platform.

So stuff will be installed in /tmp/foo  (bin/ , lib/python2.6, etc)

== root ==

With root, you just need to provide a path:

  python setup.py install --root=/tmp/foo

In this case, sys.prefix will be used relatively to root (location = root+sys.prefix), so for example,
under Mac OS X, I have '/Library/Frameworks/Python.framework/Versions/2.6' for sys.prefix.

So stuff will be installed under /tmp/foo/Library/Frameworks/Python.framework/Versions/2.6/

Since both options are used to define the base location, they are mutualy exclusive.
That's how it works today.

What are you trying to achieve exactly ?

Btw: Please don't add Python 2.5 in the versions. Python 2.5 is not a target anymore.

versions:  -Python 2.5

Python tracker <report at bugs.python.org>

More information about the Python-bugs-list mailing list