[Distutils] Local version identifiers from PEP 440 in practice

Maurits van Rees m.van.rees at zestsoftware.nl
Wed Dec 17 01:46:58 CET 2014


Maurits van Rees schreef op 17-12-14 00:53:
> I have created a very basic python project called 'myproject'.  It
> does nothing.  I have released a few versions here:
> http://pypi.zestsoftware.nl/public/packagingtest/

I have now also distributed myproject version 1.1.  (This has a
base.jinja2 file and requires Jinja2[i18n], which I need for checking
a corner case; I may report that later).

Installing 1.1 unexpectedly gives problems, both with pip and
zc.buildout.

- zc.buildout 2.2.5 and setuptools 7.0: all is well.

- zc.buildout 2.3.1 and setuptools 8.0.4:

   * When I specify 'myproject = 1.1' in the buildout config, myproject
     does not get updated.  It sticks at version 1.1+maurits.3.

   * In fact, when I switch back to 1.0, run bin/buildout, again switch
     to 1.1, run bin/buildout, the result is that 1.1+maurits.3 is used.

- pip 1.5.6, setuptools 7.0:

   * pip warns about three different versions:
     $ pip install -U -f 
http://pypi.zestsoftware.nl/public/packagingtest/ myproject==1.1
     Downloading/unpacking myproject==1.1
       Downloading myproject-1.1+maurits.3.zip
       Running setup.py 
(path:/Users/mauritsvanrees/tmp/venv-older/build/myproject/setup.py) 
egg_info for package myproject
       Requested myproject==1.1, but installing version 1.1-maurits.3
   * The warning is correct: not 1.1, but 1.1-maurits.3 is installed.

- pip dev, setuptools 8.0.4:

   * With currently 1.1+maurits.3 installed, pip says:
     $ pip install -U --trusted-host pypi.zestsoftware.nl -f 
http://pypi.zestsoftware.nl/public/packagingtest/ myproject==1.1
     Requirement already up-to-date: myproject==1.1 in 
./lib/python2.7/site-packages

   * With 1.0 currently installed, pip says:
     $ pip install -U --trusted-host pypi.zestsoftware.nl -f 
http://pypi.zestsoftware.nl/public/packagingtest/ myproject==1.1
     Collecting myproject==1.1
       Downloading myproject-1.1+maurits.3.zip

    * Result is indeed that myproject 1.1+maurits.3 is installed
      instead of 1.1.

Given that both zc.buildout and pip have a problem, I am guessing that
there is a bug in setuptools.  I'll report it.


-- 
Maurits van Rees: http://maurits.vanrees.org/
Zest Software: http://zestsoftware.nl



More information about the Distutils-SIG mailing list