[Distutils] setuptools dependencies failure and wildcards

P.J. Eby pje at telecommunity.com
Sun Mar 14 17:18:27 CET 2010


At 09:16 PM 3/14/2010 +1100, Nicholas Bower wrote:
>I have the following simple dependencies using setuptools;
>
>       install_requires=['shapely==1.0.14','sqlalchemy==0.5.8'],
>
>Two questions;
>
>1) Shapely will not work.  The available packages are;
>
>Shapely-1.0.14.win32.py24.exe (md5).
>Shapely-1.0.14.win32.py25.exe (md5).
>Shapely-1.0.14.win32.py26.exe (md5).
>
>but python version is not being appended as below.  Is shapely thus
>incompatible with setuptools?

No; the problem is that there's a broken link on the Shapely home 
page at http://trac.gispython.org/lab/wiki/Shapely - it links to a 
non-existent .exe file in this line:

"Windows users should use the executable 
<http://pypi.python.org/packages/2.5/S/Shapely/Shapely-1.0.14.win32.exe#md5=92281555b23623b8cf7b4fbc9d01f17a> 
installer, which contains the required GEOS DLL"

easy_install is seeing this link and thinks it's preferable, due to 
the way it sorts candidate URLs, and it isn't smart enough (yet) to 
backtrack on broken links.

You can work around this by adding 'dependency_links=[]' to your 
setup(), replacing the [] with a list of specific links to the 
individual .exe files; this will keep easy_install from ever reading 
the PyPI page or wiki page with the broken link.

Of course, you should also suggest the shapely maintainers fix the 
broken link, since it is broken for humans as well as for easy_install.  ;-)


>2) How does one say "the latest release of sqlalchemy 0.5.x".
>Unfortunately <0.6 picks up 0.6beta and I can see no way to do
>wildcards in the docs and just say "give me the latest 0.5 series".

<0.6dev will do the trick.



More information about the Distutils-SIG mailing list