[Python-Dev] setuptools in 2.5.
Phillip J. Eby
pje at telecommunity.com
Fri Apr 21 01:43:25 CEST 2006
At 07:33 PM 4/20/2006 -0400, Barry Warsaw wrote:
>The only thing I'll add (other than put me in the "just make it work and
>tell me what to do" camp ;) is that I really want a simple way to say
>"do not install into the system Python, put everything over here and I
>will fiddle with my environment to make it work".
>
>I may be way out of date with the state of the art these days, but in
>the past, I've had a difficult time making this work for Mailman. For
>example, at various times we've had to distribute our own email package
>and Asian codecs packages. The only way I've gotten things to work is
>by specifying --install-lib --install-data and --install-purelib
>switches, which was pretty difficult (IIRC) to figure out.
I'm surprised you needed --install-purelib; it seems like install-lib
should have been sufficient.
As for --install-data, just put your data in the packages and use Python
2.4's ability to install package data, or one of the pre-existing distutils
extensions that beat install_data over the head to make it install the data
with the packages.
>Again, maybe there's an easy way to do this with modern distutils, but I
>just want to make sure this is a use case that's on the radar.
In the easy_install case, "easy_install -d wherever" puts everything (and I
do mean *everything*, including scripts) under the 'wherever'
directory. If you want scripts to go someplace different, there's a
separate option. But if you don't specify these things, easy_install gets
its defaults from those defined for distutils, specifically the
--install-lib and --install-scripts options of the "install" command.
However, easy_install will gripe if the "-d wherever" isn't in PYTHONPATH
and isn't site-packages, and you aren't saying you don't need it to be
importable. If you promise to make sure the installed packages will be on
sys.path when you want to import them, you use -m or --multi-version and
easy_install will happily put the packages anywhere you like and leave it
to you to get them on sys.path.
More information about the Python-Dev
mailing list