Как установить внутренние требования для проектов Python Heroku? - PullRequest
9 голосов
/ 02 февраля 2012

У нас есть несколько внутренних библиотек, которые мы разделили (по нескольким причинам, в основном административным или чтобы иметь возможность легко открыть их позже).Они живут в частных репозиториях Github, если это имеет значение.

Я бы хотел развернуть приложение в Heroku, чтобы опробовать его.Это зависит от одной из этих библиотек.

Я должен указать свои зависимости в файле require.txt.Это легко для вещей, устанавливаемых PyPI, но что я могу сделать для этих внутренних зависимостей?

Я мог бы либо запустить свое собственное личное зеркало PyPI, которое имеет этот материал, либо я мог бы использовать редактируемые пакеты (даже еслидокументация гласит, что их не следует использовать в производстве).

Какой подходящий способ сделать это?

Ответы [ 4 ]

7 голосов
/ 04 февраля 2012

GitHub разрешает обычную HTTP-аутентификацию в репозиториях Git.

Итак, вы можете добавить строку, подобную этой:

-e git+https://username:password@github.com/kennethreitz/requests.git@v0.10.0#egg=requests

И все будет работать правильно:)

1 голос
/ 02 февраля 2012

В requirements.txt вы можете упомянуть следующее.

git+git://github.com/kracekumar/blaze.git

Тем временем вы можете клонировать библиотеку, создать виртуальную среду и установить ее в среде env. Центр разработки Heroku содержит статьи, в том числе настройки виртуальной среды.

0 голосов
/ 20 января 2017

Существует сборка для этого: https://elements.heroku.com/buildpacks/debitoor/ssh-private-key-buildpack

Сделайте это:

$ heroku buildpacks:set --index 1 https://github.com/debitoor/ssh-private-key-buildpack.git
$ heroku buildpacks:add heroku/python
$ heroku config:set SSH_KEY="$(cat path/to/your/keys/id_rsa | base64)"

Теперь добавьте данный ключ ssh в github, и вы сможете использовать эти зависимости "git+git@github.com" при развертывании в Heroku.

0 голосов
/ 02 февраля 2012

Вы можете написать, скажем, "-e git + ssh: //git@.../PIL#egg=PIL" вместо "PIL" в вашем файле require.txt, и он получит его оттуда.

Однако для этого потребуется как-то указать закрытый ключ ssh, который используется heroku при извлечении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...