
On Nov 24, 2008, at 15:46 PM, Mark Sienkiewicz wrote:
We can eliminate __egginsert from the code entirely. As far as I can tell, the *only* purpose of __egginsert is to permit the incorrect behaviour that your patch is intended to fix.
There are two separable concerns here: 1. Should the act of "easy_install foodistribution" cause subsequent "python -c 'import foomodule'" to get the new, easy-installed foo, instead of the pre-existing, distutils-installed foo which is in the system directory? 2. Should the act of "PYTHONPATH=./my-custom-foo" cause subsequent "python -c 'import foomodule'" to get the foo in ./my-custom-foo instead of the easy-installed foo? PJE has already made clear (see references on the ticket that I filed or in my earlier mail) that he wants the answer to 1 to be "yes", because he is supporting a common use case in which a user doesn't know how to uninstall the old foo but wants to use easy_install to get a new foo. (I personally am kind of ambivalent about #1, but I have no users asking for it to be different so I'm happy to go along with PJE on that.) Issue #2 is actually the one that so many people hate about setuptools, including many of my current and prospective users, and apparently included you, Mark Sienkiewicz. I think it is consistent to answer "yes" to both questions, because in each case the user has expressed intent -- by saying "easy_install foo", you can legitimately be understood as meaning "...and make the one I get over-ride any other ones that might already be here.". Likewise by saying "PYTHONPATH=./my-custom-foo", you are certainly saying "... and make the one I just named override any others". Indeed, the Python docs clearly state that Python will respect that statement of yours: http://www.python.org/doc/2.5.2/inst/search-path.html which says: "The PYTHONPATH variable can be set to a list of paths that will be added to the beginning of sys.path.". My patch is intended to make the answer to #2 be "yes" from now on, while preserving the current behavior of the answer to #1 being "yes". Regards, Zooko --- http://allmydata.org -- Tahoe, the Least-Authority Filesystem http://allmydata.com -- back up all your files for $10/month