title: How to install Python dependency if requirement doesn't have binaries uploaded
body: <p>I am having trouble locking/installing dependencies, using both Pipenv and Pip Tools.</p>
  
  <p>The problem:</p>
  
  <p>One of my dependencies is NewRelic, which in its <a href="https://github.com/edmorley/newrelic-python-agent/blob/ac97c23fd5b8e821be8da91f906850ce0499126b/newrelic/newrelic.egg-info/requires.txt" rel="nofollow noreferrer">implementation</a> doesn't pin a specific version to Protobuf library.</p>
  
  <p>When I lock the dependencies, generating a <code>Pipfile.lock</code> or even a <code>requirements.txt</code> with hashes, it pins <a href="https://pypi.org/project/protobuf/#history" rel="nofollow noreferrer">Protobuf</a> to 3.12.1, which is, as of today, the latest version.</p>
  
  <p>Happens that, for some unknown reason for me, Protobuf doesn't have a compatible version with my environment, and the install fails.</p>
  
  <p>How could I either specify a version for Protobuf in my Pipfile or make the lock resolve the latest <strong>compatible</strong> version?</p>
  
  <p><strong>EDIT</strong>: There is also an unresolved <a href="https://github.com/protocolbuffers/protobuf/issues/7520" rel="nofollow noreferrer">GitHub issue</a> about the Protobuf problem.</p>