title: How to specify Python requirements by allowing prereleases?
body: <p>I am having some kind of confusion regarding the right way of declaring requirements of Python packages.</p>
  
  <p>New builds that are not officially released yes do have pre-release names like <code>0.2.3.dev20160513165655</code>.</p>
  
  <p>pip is really smart to install pre-releases when we add <code>--pre</code> option and when we are building the develop branch we do use it. Master branch does not use it.</p>
  
  <p>I discovered that if I put <code>foobar&gt;=0.2.3</code> in a requirements file the development version will not be picked even if I specified the --pre parameter.</p>
  
  <p>The <a href="https://pip.readthedocs.io/en/stable/reference/pip_install/#requirements-file-format" rel="noreferrer">pip documentation</a> is not helping here too much because is missing to point anything about pre-releases.</p>
  
  <p>I used the approach of putting <code>foobar&gt;0.2.2</code> which in conjunction with <code>--pre</code> would install the pre-release.</p>
  
  <p>Still even this if a bit flawed because if we release a hotfix like <code>0.2.2.1</code> it may have picked it.</p>
  
  <p>So, what's the best approach to deal with this?</p>
  
  <p>Side note: It would be highly desired not to have to patch the requirement file when we do make a release (a pull request from develop to master). Please remember that develop branch is always using <code>--pre</code> and the master doesn't.</p>