2

We wrote an application for ourselves which calls us on the phone, if our telescope has a problem. One can install this application (without prior cloning) like this:

pip install git+https://github.com/fact-project/shifthelper

and we like that our non-developer friends can install the app without prior cloning it. So far so good.


Now we pulled out part of the app into a little library, which one can install like this:

pip install git+https://github.com/fact-project/smart_fact_crawler

but we seem to be unable to tell pip in the setup.py how to install the required library before installing the app.

We tried using this:

#setup.py
....
dependency_links=[
    "git+http://github.com/fact-project/smart_fact_crawler.git#egg=smart_fact_crawler",
],
....

So how does one specify non pypi dependencies in the setup.py?

Dominik Neise
  • 1,179
  • 1
  • 10
  • 23

2 Answers2

1

From Release Notes for pip 1.5 (2014-01-01)

BACKWARD INCOMPATIBLE pip no longer respects dependency links by default. Users may opt into respecting them again using --process-dependency-links.

Piotr Dobrogost
  • 41,292
  • 40
  • 236
  • 366
1

Your setup is all good and the deprecation of --process-dependency-link has since been (luckily) reverted.

The missing piece here is that pip requires an additional flag to actually use the listed links:

pip install ... --process-dependency-links ...

The Pull Request that was reverted - https://github.com/pypa/pip/pull/1519

JAR.JAR.beans
  • 9,668
  • 4
  • 45
  • 57