Phillip J. Eby wrote: > Rob Cakebread wrote: > > I've got CherryPy-2.1 final installed and it works fine with setuptools > > 0.6a7 > > With 0.6a8 I get this: > > > > $ tg-admin > > Traceback (most recent call last): > > File "/usr/bin/tg-admin", line 5, in ? > > from pkg_resources import load_entry_point > > File > > "/usr/lib64/python2.4/site-packages/setuptools-0.6a8-py2.4.egg/pkg_resources.py", > > line 2195, in ? > > for dist in working_set.resolve( > > File > > "/usr/lib64/python2.4/site-packages/setuptools-0.6a8-py2.4.egg/pkg_resources.py", > > line 483, in resolve > > raise DistributionNotFound(req) # XXX put more info here > > pkg_resources.DistributionNotFound: CherryPy>=2.1.0-rc2 > > > > I can import it fine with: python -c "import cherrypy" > > -rc2 is a patchlevel version, not a prerelease version. Thus, code > that looks for >=2.1.0-rc2 wants a version *later* than 2.1.0 final. > Your requirement should list >=2.1.0 instead. > > To avoid this problem in future, do not use '-' for prerelease tags; > setuptools recognizes '2.1.0rc2' or '2.1.0.rc2' (or '2.1rc2') as > equivalent prerelease versions, but '-' means "post-release patch".
Have you considered using text history file for releases? Then you don't have to guess the order of releases, the file can also describe branches: ------- .egg-info/releases.txt -------- ... 2.1a1 2.1.beta1 2.1.beta2 2.1.0-rc2 2.1.0 2.2alpha1 ... [2.1.0 bugfix] # 2.1 bug-fix branch 2.1.1-rc1 2.1.1-rc2 2.1.1 2.1.2-rc1 2.1.2 ------------------------------------------------ This way you can restrict upgrades to one branch like "2.1.0 bugfix".

