In article <CAAu18hebtFp8CAhsYzfXYTuL4Od2MWf1_NM3R1B=wegf3wa...@mail.gmail.com>, Nicholas Cole <nicholas.c...@gmail.com> wrote: > The only user configuration I've done is to create the following > configuration file: > > NPSC:~ nicholas$ cat .pydistutils.cfg > [install] > install_lib = ~/Library/Python/$py_version_short/site-packages > install_scripts = ~/bin > > I should say, this has been a problem for all of the python3.3 alpha > and beta releases, on previous releases of OS X. > > I can't understand why it works on your setup, though, because I > haven't done anything at all (that I can think of) that ought of > affect it. I wonder if the logic that adds the directory to sys.path > is being too clever for everyone's good?
Ah, now I know what the problem is. If you look carefully, you'll see that the path created in the Distribute example, effectively by using setup.py --install, is slightly different from the install_lib path in your .pydistutils.cfg. What happened is that Python 2.7 and Python 3.2 introduced a change in the user site path for OS X framework builds. The rationale was to make the ~/Library/Python user site directory look more like the existing framework structure. This change was somewhat controversial and has not yet been resolved to everyone's satisfaction. (http://bugs.python.org/issue8084) A contributing factor is that feature changes to Distutils have been on hold with the planned introduction of its replacement, packaging. However, late in the 3.3 release cycle, it was decided that packaging wasn't quite ready for release and we never got around to taking another look at other pending Distutils-related issues, like this one. OTOH, this has now been the behavior for the lifetime of 2.7 and 3.2 and now for 3.3 and it is documented if you know where to look: http://docs.python.org/py3k/library/site.html It is not likely that, at this point, it will be changed back to 2.6/3.1 behavior nor to the exact original PEP-370 proposal either. So, for the current Python releases (2.7, 3.2, 3.3), one solution is to change the install_lib definition in .pydistutils.cfg to: install_lib = ~/Library/Python/$py_version_short/lib/python/site-packages Or just user--user on setup.py install commands. I'm sorry that I don't have a better story for now. That said, I think that installation is likely to be a major focus for Python 3.4 and that there will be a push to rationalize things in this rather murky area of Python. -- Ned Deily, n...@acm.org -- http://mail.python.org/mailman/listinfo/python-list