Donald Stufft schreef op 17-12-14 04:59:
On Dec 16, 2014, at 10:25 PM, Ethan Furman
wrote: To continue with Maurits' use-case, in order to get /exactly/ 1.3, '===' is the operator to use? Or are we still discussing that? Personally, I think pip install yourthing is 1.3
Currently the === operator will give you that, but it’s not really designed for that. It’s designed as an escape hatch for versions we can’t parse. An example of where this matters is that ==1.3 will match version 1.3.0, but ===1.3 will not. So if we want something better than that for “give me exactly 1.3 without any patches” then that’s under discussion.
Current pip 1.5.6 does not recognize the === operator and gives a ValueError. That is expected. pip dev does recognize it, but I do not see the behaviour you say. Let me try from scratch: $ virtualenv-2.7 venv-newest $ cd venv-newest $ . bin/activate $ pip install -U setuptools # gets 8.0.4 $ pip install https://github.com/pypa/pip/tarball/develop#egg=pip-dev $ 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 Requested myproject===1.1, but installing version 1.1+maurits.3 Installing collected packages: myproject Running setup.py install for myproject Successfully installed myproject $ ls -1 lib/python2.7/site-packages _markerlib easy_install.py easy_install.pyc myproject myproject-1.1+maurits.3-py2.7.egg-info pip pip-1.5.6.dist-info pip-6.0.dev1-py2.7.egg-info pkg_resources.py pkg_resources.pyc setuptools setuptools-8.0.4.dist-info $ pip list myproject (1.1+maurits.3) pip (6.0.dev1) setuptools (8.0.4) -- Maurits van Rees: http://maurits.vanrees.org/ Zest Software: http://zestsoftware.nl