On 2/27/07, Nathan R. Yergler <nathan@yergler.net> wrote:
It only prefers what it finds, and currently it won't find Cheeseshop files for "hidden" versions of a pacakge unless you include a -f to that page, e.g. -f http://cheeseshop.python.org/pypi/lxml/1.1 in this case.
Prefering what it finds makes sense, although *I* would prefer that it found the page on PyPI with the egg ;). Is the "hiding" of versions a Cheeseshop thing? Is there a good reason *not* to look for the requested version page on Cheeseshop? (I'm guessing the answer to this is "we don't look for pages, we use an RPC interface [for some definition of RPC]", but I'll ask anyway)
Upon registering a new version of a given package previous one is being hidden by default. This is a distutils thing and PyPI simply implements this behaviour (by not listing hidden versions). I also think setuptools should look at the appropriate version page of a package, which is the right thing to do from the usability point of view. Since user requested this version he shall have it. In general case, if a package isn't listed on the project homepage nothing will be find and easy_install for this specific version will fail, which is another bad symptom of this implementation. You just got (un)lucky enough that lxml developers list version requested by you on their homepage. If you requested a Cheesecake 0.6 you'll get an error, because 0.6.1 is the current version and 0.6 is hidden: $ sudo easy_install -vv Cheesecake==0.6 Searching for Cheesecake==0.6 Reading http://cheeseshop.python.org/pypi/Cheesecake/ Reading http://pycheesecake.org/ Found link: http://darcs.idyll.org/~t/projects/twill-0.7.4.tar.gz Found link: http://svn.pycheesecake.org/trunk#egg=Cheesecake-dev Found link: http://cheeseshop.python.org/packages/2.4/C/Cheesecake/Cheesecake-0.6.1-py2.... Found link: http://cheeseshop.python.org/packages/2.3/C/Cheesecake/Cheesecake-0.6.1-py2.... Found link: http://cheeseshop.python.org/packages/source/C/Cheesecake/cheesecake-0.6.1.t... Reading http://cheeseshop.python.org/pypi/Cheesecake/0.6.1 No local packages or download links found for Cheesecake==0.6 error: Could not find suitable distribution for Requirement.parse('Cheesecake==0.6') "Hidden" should mean "hidden from the user *by default*", but should not get into way of a user that *explicitly* requested a release. Cheers, mk