2012-02-02 1 views
8

몇 가지 사유로 대부분 관리 용이거나 나중에 쉽게 소스를 열 가능성이있는 사내 라이브러리가 있습니다. 그게 중요한 일이라면 그들은 개인 Github 저장소에 살고 있습니다.Python Heroku 프로젝트에 대한 사내 요구 사항은 어떻게 설치합니까?

나는 그것을 시험해보기 위해 Heroku에 앱을 배포하고 싶습니다. 이 라이브러리 중 하나에 따라 다릅니다.

requirements.txt에 내 의존성을 지정해야합니다. PyPI를 설치할 수있는 것은 쉽지만 이러한 사내 의존성을 위해 무엇을해야합니까?

이 물건이있는 내 개인 PyPI 미러를 실행할 수도 있고, 편집 가능한 패키지를 사용할 수도 있습니다 (설명서에는 프로덕션 환경에서 사용하면 안 됨).

어떻게해야할까요?

답변

7

GitHub는 Git repos에서 HTTP 기본 인증을 허용합니다.

-e git+https://username:[email protected]/kennethreitz/[email protected]#egg=requests 

을 그리고 모든 것이 제대로 작동합니다 :)

+0

굉장! Heroku가 왜 당신의 요구 사항 파일에 -e를 넣으면 안된다고 말합니까? 수동으로 태그/릴리스를 지정할 때 (또는 마스터가 언제나 갈 수 있다는 것을 의미하는 개발 프로세스가 있음) 문제가 표시되지 않습니다. – lvh

+0

편집 가능한 요구 사항이 가끔 깨질 수 있습니다. 헤로큐 특유의 것은 아닙니다 :) –

+3

하지만 암호를 쓰지 않고 어떻게해야합니까? – wkschwartz

1

requirements.txt에는 다음과 같이 언급 할 수 있습니다.

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

한편 당신은 라이브러리를 복제하고 가상 환경을 생성하고 ENV 내부에 설치할 수 있습니다. Heroku dev center에는 가상 환경 설정을 포함한 기사가 있습니다.

+0

개인 레포의 경우 어떻게 도움이됩니까? – lvh

+0

이것이 작동하지 않으면'scp'를 실행 한 후 소스에서 설치할 수 있습니다. – Kracekumar

0

requirements.txt 파일에 "PIL"대신 "-e git + ssh : //[email protected]/PIL#egg=PIL"을 쓰면 거기에서 가져올 수 있습니다 .

그러나 이렇게하면 당기는 경우 heroku에서 사용할 ssh 개인 키를 지정해야합니다.

0

그냥 이것에 대한 buildpack 있습니다 :

그래서, 당신은 다음과 같은 라인을 추가 할 수 있습니다 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에 배포 할 때의 의존성.