Как установить pip с помощью git, отличного от клонирования репозитория?

Я начинаю с Django, и у меня возникли проблемы с установкой django-basic-apps с помощью pip.

Если я это сделаю …

$ cat requirements.txt git+git://github.com/nathanborror/django-basic-apps.git $ pip install -r requirements.txt 

Я в конечном итоге с lib/python2.6/site-packages/basic/blog , у которого нет каталога шаблонов.

Если я это сделаю …

 git clone http://github.com/nathanborror/django-basic-apps.git 

Я получаю копию basic/blog , у которого есть каталог шаблонов.

Я подозреваю, что что-то о django-basic-apps или pip делает невозможным установку через pip. Я думал, что, возможно, чтение setup.py django-basic-apps приведет меня к ответу, но я не мог его увидеть.

(Я должен добавить, что если я установлю без использования pip, я смогу получить django-basic-apps работающие нормально.)

One Solution collect form web for “Как установить pip с помощью git, отличного от клонирования репозитория?”

Когда вы используете «pip» для установки чего-то, setup.py пакета используется для определения того, какие пакеты устанавливать. И setup.py этого проекта, если я правильно его читаю, говорит: «Просто установите эти пакеты Python в basic каталог» – setup.py совершенно не упоминает о каких-либо файлах, не содержащих Python, которые он хочет включить в установку.

Это может быть преднамеренно со стороны разработчиков, поскольку для пакетов Django не обязательно включать шаблоны – как известно, даже что-то настолько простое, как встроенный django.contrib.auth без шаблонов, и заставляет вас строить свои маленькие формы с нуля каждый раз! (Или, чтобы вырезать и вставить из примеров в другом месте в Интернете.)

Но если вы сами хотите, чтобы шаблоны были установлены с этим дистрибутивом Python, независимо от того, как автор установил все, просто перечислите шаблоны в setup.py ! Сначала добавьте что-то вроде этого в файл setup.py :

 template_patterns = [ 'templates/*.html', 'templates/*/*.html', 'templates/*/*/*.html', ] 

Затем добавьте одну последнюю переменную в вызов setup() чтобы она заканчивалась следующим образом:

 ... packages=packages, package_data=dict( (package_name, template_patterns) for package_name in packages )) 

Это подтверждает функцию setup() что каждый пакет должен сопровождаться файлами данных, которые находятся путем поиска файлов HTML под каталогом templates каждого пакета.

Попробуйте, и дайте мне знать, если это работает на вашей машине!

  • VLC: Ошибка импорта без модуля с именем appscript
  • Buildout vs virtualenv + pip для django?
  • Ошибка при установке easysnmp через pip
  • Установить пакет с отдельным исходным каталогом в редактируемом режиме
  • Python: pip установлен, но не работает в окнах
  • Сортировка sys.path: первый virtualenv, затем / usr
  • Компиляция Python 3.4 не копирует пип
  • Почему GCC игнорирует ARCHFLAGS в Snow Leopard?
  • Python - лучший язык программирования в мире.