It's interesting that having "dev " version packages in the install_requires list will fail.
Say for example, if you do:
from setuptools import setup
setup(
...
install_requires=["Pylons==dev"],
...
)
It won't work:
Installed d:\python25\lib\site-packages\pylons-0.9.7rc3dev_20081103-py2.5.egg Reading http://www.pylonshq.com/download/0.9.7 error: Could not find required distribution Pylons==dev
I imagine it would match if the package would literally have the version "dev".
One solution is to change the install_requires to ["Pylons==dev,!=foo"] or some other bogus version to match whatever is downloaded for the dev version. ">=0.1.2.3 " will match for packages that don't have tagged versions (won't work for example for Pylons "0.9.7beta3dev-20080422").
EDIT: Looks like I was wrong. having "!=foo" will work if you already have the package installed but will fail to find the dev package when downloading. Having ">=0.9.7" in the requirements will not work because "0.9.7beta3dev-20080422" is considered a lower version (prerelease to the final 0.9.7). A solution would be having a requirement like ">=0.9.7a". "a" will be lower than "beta3dev-20080422".