According to PEP 440 and PEP 426 and the pip install manual (if I read them correctly), I SHOULD be able to create pre-release versions of my libraries/wheels, and use them if-and-only-if I include the "--pre" flag.
Furthermore, I took it to mean that given the right installation options (--pre
?) pre-release versions would fit within the standard numeric versioning scheme, such that 1.a1
and 1.dev1
would appear as 1.1
, just as 1.1+extra_tag
also appears as 1.1
(note: +extra_tag
does not require the --pre
flag to work)
None of this seems to work.
What I see is:
pip install ... wheelname
installs EVEN IF the uploaded version of the wheel is something likewheelname.1.dev6
. The--pre
doesn't seem to make a difference, one way or the other.- Given a requirement file that has a stanza like
wheelname==1.6
, even with the--pre
option, if my wheel is versioned aswheelname.1.dev6
,wheelname.1.a1
, etc. it is not found. - Same issue for a stanza like
wheelname>=1
- The "+notation" is honored.
It was my understanding from reading PEP 440 and 426 that the "a", "b", "c" and "cr" midfixes were supposed to be available (i.e. 1.a1 == 1.1) as long as the --pre
option was used (of course, --pre
isn't explicitly specified by the PEPs themselves, but I assume). Same for the ".devN" suffixes.
Notes:
- I am using pip 9.0.1
--isolated
does not make a difference (e.g. it is not an environment issue)Rather than use all the rigamarole to create a wheelhouse, I used a directory when creating/uploading my wheel. My approximate runlines are thus:
pip install wheelname --use-wheel --find-links=file:///tmp/wheelhouse [--pre]
pip install -r requirements.txt --use-wheel --find-links=file:///tmp/wheelhouse [--pre]