title: setup.py ignores full path dependencies, instead looks for "best match" in pypi
body: <p><em>Similar to <a href="https://stackoverflow.com/questions/12518499/pip-ignores-dependency-links-in-setup-py_">https://stackoverflow.com/questions/12518499/pip-ignores-dependency-links-in-setup-py</em></a></p>
  
  <p>I'm modifying <a href="https://github.com/joke2k/faker" rel="nofollow noreferrer">faker</a> in anticipation to an open PR I have open with <a href="https://github.com/kvesteri/validators" rel="nofollow noreferrer">validators</a>, and I want to be able to test the new dependency i will have.</p>
  
  <pre><code>setup(
      name='Faker',
      ...
      install_requires=[
          "python-dateutil&gt;=2.4",
          "six&gt;=1.10",
          "text-unidecode==1.2",
      ],
      tests_require=[
          "validators@https://github.com/kingbuzzman/validators/archive/0.13.0.tar.gz#egg=validators-0.13.0",  # TODO: this will change  # noqa
          "ukpostcodeparser&gt;=1.1.1",
          ...
      ],
      ...
  )
  </code></pre>
  
  <p><code>python setup.py test</code> refuses to install the 0.13.0 version.</p>
  
  <p>If I move the trouble line up to <code>install_requires=[..]</code> (which SHOULD not be there)</p>
  
  <pre><code>setup(
      name='Faker',
      ...
      install_requires=[
          "python-dateutil&gt;=2.4",
          "six&gt;=1.10",
          "text-unidecode==1.2",
           "validators@https://github.com/kingbuzzman/validators/archive/0.13.0.tar.gz#egg=validators-0.13.0",  # TODO: this will change  # noqa
      ],
      tests_require=[
          "ukpostcodeparser&gt;=1.1.1",
          ...
      ],
      ...
  )
  </code></pre>
  
  <ul>
  <li>using <code>pip install -e .</code> everything works great -- the correct version gets installed.</li>
  <li>using <code>python setup.py develop</code> same issue.</li>
  </ul>
  
  <p>My guess is setuptools/distutils doing something weird -- <code>pip</code> seems to address the issue. My question: how do I fix this?</p>
  
  <p>Problematic code and references can be found here: </p>
  
  <ul>
  <li><a href="https://github.com/kingbuzzman/faker/commit/20f69082714fae2a60d356f4c63a061ce99a975e#diff-2eeaed663bd0d25b7e608891384b7298R72" rel="nofollow noreferrer">https://github.com/kingbuzzman/faker/commit/20f69082714fae2a60d356f4c63a061ce99a975e#diff-2eeaed663bd0d25b7e608891384b7298R72</a></li>
  <li><a href="https://github.com/kingbuzzman/faker" rel="nofollow noreferrer">https://github.com/kingbuzzman/faker</a></li>
  <li><a href="https://gist.github.com/kingbuzzman/e3f39ba217e2c14a9065fb14a502b63d" rel="nofollow noreferrer">https://gist.github.com/kingbuzzman/e3f39ba217e2c14a9065fb14a502b63d</a></li>
  <li><a href="https://github.com/pypa/setuptools/issues/1758" rel="nofollow noreferrer">https://github.com/pypa/setuptools/issues/1758</a></li>
  </ul>
  
  <p>Easiest way to see the issue at hand:</p>
  
  <pre><code>docker run -it --rm python:3.7 bash -c "git clone https://github.com/kingbuzzman/faker.git; cd faker; pip install -e .; python setup.py test"
  </code></pre>
  
  <p><em>UPDATE: Since this has been fixed, the issue wont be replicated anymore -- all tests will pass</em></p>