2015-02-16 6 views
0

p0 зависит от p1, что в свою очередь зависит от p2. p2 не устанавливается, все остальное.Зависимости от git не устанавливаются?

I.e .: Я получаю ImportError в отношении p2 при развертывании p0 через Heroku.

Обратите внимание, что у всех есть линии в их requirements.txt так:

git+http://github.com/project/package 

Кроме того, я попытался положить все в install_requires и dependency_links, но не удалось найти Pacakge на GitHub. Пытался даже написать my own deps_installer().

+0

Вы можете добавить бутылку в bar requirements.txt, используя флаг --editable, см. [Docs] (https://pip.pypa.io/en/latest/reference/pip_install.html#options) – Hevlastka

+0

О, поэтому мне нужен флаг '-e'? - В настоящее время есть строка 'git +' ... –

+0

Использование флага -e установит пакет в редактируемый режим, другими словами, он создаст символическую ссылку на пакет, вместо того, чтобы добавлять его в каталог сайтов pythons site-packages. Извинения за то, что он идиот, может быть и больше. Как именно вы импортируете бутылку в бар? – Hevlastka

ответ

0

Похоже, этот вопрос был с:

package_dir 

В моем вызове setuptool.setup функции.

Удаление аргумента ключевого слова полностью разрешило мою проблему.

Кроме того, я поставил все свои требования в «requirements.txt» p0.

2

Есть пара проблем.

  1. зависимостей DECLARE используя install_requires аргумент setup(), а не с requirements.txt. pypa имеет a description of the differences и разработчик пива Дональд Штаффт имеет some elaboration here.

  2. Ваш __version__ обработка не работает: Ваш setup.py для bettertutors_rest_api содержит from bettertutors_rest_api import __version__, которая будет импортировать bettertutors_rest_api.py, но bettertutors_rest_api.py будет пытаться создать Bottle() объект, когда он импортируется, которая будет выполнена, если бутылка hasn 't уже установлен, поэтому setup.py завершится с ошибкой вместо получения версии. pypa имеет advice on single-sourcing versions (я использую вариант 3).

+0

Спасибо, я удалил все использование' __version__ '.Все еще не удается разрешить ссылку git (с 'install_requires' и' dependency_links'). Какой-нибудь ключ? –

+0

Обновлены мои репозитории, на этот раз используя 'requirements.txt' только для моих зависимостей github. Теперь вернемся к этому, не устанавливая пакет на 3 уровня вниз. I.e .: p0 deps на p1, p1 откладывается на p2. p2 не устанавливается. –

+0

Чтобы быть понятным, «pip install foo» полностью игнорирует любые требования. Txt в комплекте с дистрибутивом foo. –

1

Pip будет только взгляд на requirements.txt, если явно указать его в командной строке, с pip install -r requirements.txt. Обратите внимание, что вы можете назвать этот файл тем, что вам нравится, называя его требованиями. Txt - это соглашение, а не стандарт, который используется в любом месте упаковки.

Отметьте, что user-api имеет ссылку зависимости от sql-models, но на самом деле она не указана в install_requires, так что ничего не сделайте атм.

+0

Спасибо, однако я пробовал 12+ различных комбинаций из них (см. Мою историю фиксации или [эту ссылку comp.lang.python] (https://groups.google.com/d/topic/comp.lang.python/ q5yrtlNnJBg)). Никто не работал. Я уверен, что это просто некорректная конфигурация на моем конце, но не знаю, как ее решить. –

Смежные вопросы