2016-04-08 3 views
2

Мы написали приложение для себя, которое звонит нам по телефону, если наш телескоп имеет проблему. Можно установить это приложение (без предварительного клонирования), как это:pip install python app from github, with non pypi dependecy

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

, и мы хотели, чтобы наши друзья не-разработчик может установить приложение без предварительного клонирования его. Все идет нормально.


Теперь мы вырвали часть приложения в маленькой библиотеке, которую можно установить так:

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

, но мы, кажется, не в состоянии сказать pip в setup.py, как установите нужную библиотеку перед установкой приложения.

Мы пытались использовать это:

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

Так как же указать зависимости не являющихся PyPi в setup.py? не

+0

связанно: http://stackoverflow.com/ вопросы/3472430/how-can-i-make-setuptools-install-a-package-thats-not-on-pypi – cel

+0

Вы пробовали использовать вариант, который я предложил в своем ответе? –

+0

Вы пробовали использовать вариант, который я предложил в своем ответе? –

ответ

1

От Release Notes для пип 1.5 (2014-01-01)

BACKWARD INCOMPATIBLE пип больше не уважает ссылки зависимостей по умолчанию. Пользователи могут предпочесть их уважение, используя --process-dependency-links.

1

Ваша установка хороша, и устаревание -process-dependency-link с тех пор было (к счастью) вернулось.

Недостающий кусок здесь является то, что пип требует дополнительного флага на самом деле использовать перечисленные ссылки:

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

тянущий запрос, который вернулся - https://github.com/pypa/pip/pull/1519

+0

Разве это не то, что я уже написал в своем ответе? –