2012-02-02 4 views
8

私たちはいくつかの社内ライブラリを用意しています(いくつかの理由で、主に管理者であるか、後で簡単にソースを開く可能性があります)。彼らはプライベートなGithubリポジトリに住んでいます。Python Herokuプロジェクトの社内要件をインストールするにはどうすればよいですか?

私はそれを試してHerokuにアプリをデプロイしたいと思います。それらのライブラリの1つに依存します。

私は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)" 

githubに特定のsshキーを追加して、それらの "git + git @ github.com "Herokuへの展開時の依存関係。

関連する問題