setup.py, который загружает репозитории не-Python github и помещает их в правильный каталог? - PullRequest
7 голосов
/ 28 декабря 2011

Можно ли создать файл setup.py, который:

  • Извлекает репозиторий github
  • помещает файлы из этого репозитория в указанную папку

Я настраиваю пакет / приложение django, которое использует сторонние JavaScript-фреймворки, доступные на github.Мне бы хотелось, чтобы setup.py извлекал последнюю версию из github, а затем помещал эти файлы в соответствующую папку static / js. Так что это отличается от обычных зависимостей, которые представляют собой пакеты Python со своими собственными файлами setup.py.

Ответы [ 2 ]

2 голосов
/ 28 декабря 2011

Альтернативой этому может быть предоставление файла require.txt для использования с pip. Вы можете указать git и mercurial репозитории, а также пакеты из PyPI, чтобы пользователю просто нужно было сделать pip install -r requirements.txt, чтобы получить весь проект.

2 голосов
/ 28 декабря 2011

Если вы используете setuptool (setup.py), вы можете использовать требование зависимости: https://stackoverflow.com/a/3481388/496445

В противном случае, как предлагают комментарии, настройте ваш проект django в качестве фактического репозитория git, а затем добавьте githubрепо как подмодуль

cd myProject
git init
git submodule add git://path/to/repo.git local/location/repo

Тогда вы просто сможете перейти в этот подмодуль и git pull

Если вы не хотите настраивать свой проект как git-репо, тогдаС помощью метода грубой силы можно вручную клонировать репозиторий github там, где вы хотите, а затем добавить несколько ручных команд в файл setup.py

import os
os.system("cd path/to/repo && git pull")
...