[Distutils] --prefix

P.J. Eby pje at telecommunity.com
Fri Sep 3 18:29:14 CEST 2010

At 04:46 PM 9/3/2010 +0100, Nick Leaton wrote:
>I had an inkling I might be asking the wrong question.
>It relates to releasing an app that has the following features.
>1) Internal package
>2) A couple of scripts
>3) A dependency on an external package/library (Already packaged in 
>its own right).
>4) A couple of dll or equivalent on Unix.

Note that dependencies can be automatically installed if you use 
setuptools in your setup.py.  The rest would also be part of a normal 
setup script.

>We don't want to install into site-packages, we want to keep that clean.

Why don't you leave that up to the person installing your 
package?  Is this for a small targeted audience or for general release?

If it's for general release to people using Python, you should most 
definitely let them decide where to install it, or you're going to 
make a lot of people really annoyed with you.  ;-)

However, if it's to a targeted audience of non-Python users, why not 
just have your installer pass appropriate installation locations to 
setup.py install, to explicitly set things up the way you want them?

Either way, it doesn't seem like doing anything special in your 
setup.py is a good idea.  (Apart from maybe using setuptools so you 
can specify dependencies.)

>  We would like to install all the above into one directory 
> structure, and set a python path to poin to the appropriate directory.


I ask these questions because there's more than one way to 
(potentially) accomplish this, but so far it doesn't sound like 
there's any reason for you to change the way distutils does things by 
default, and leave it up to the person doing the installation to 
decide where they want to put things, perhaps with some docs 
recommending a particular location.

More information about the Distutils-SIG mailing list