[Distutils] does easy_install.py need to guess the site-packages path?
pje at telecommunity.com
Wed Jun 8 08:09:30 CEST 2011
At 09:54 PM 6/7/2011 -0700, James wrote:
>On Tue, Jun 7, 2011 at 6:30 PM, P.J. Eby
><<mailto:pje at telecommunity.com>pje at telecommunity.com> wrote:
>At 12:00 AM 6/7/2011 -0700, James wrote:
>As an example I'm looking at setuptools-0.6c11-py2.7.egg, can
>someone tell me why setuptools/command/east_install.py in
>get_site_dirs() does its own computation of where site-packages is?
>As of 2.7 there are already 4 separate places in the python where
>this path is computed. Maybe I'm missing something but I don't see
>why an egg would have an opinion on this matter.
>It doesn't do that in order to know where to install things; it does
>it to know what places are *safe* to install things that need .pth support.
>I'm seeing it make up the path and then fail in a copytree since the
>computed dest directory in my case doesn't exist So I'm not exactly
>sure what you mean when you say it doesn't.
Unless you override it, easy_install asks the distutils where to
install things. So, the "made up path" you're referring to came from
the distutils. (Which has yet *another* set of code to generate the path(s)!)
If you set "DISTUTILS_DEBUG=yes" in your environment variables, and
run the easy_install again, you'll see exactly where every setting
comes from. The output of get_site_dirs() is *not* used to determine
the installation path, only to *validate* it.
>(And unfortunately, there is no way to obtain this list from the
>site module directly.)
>I guess that is the nub, oh well.
More information about the Distutils-SIG