如何安装Python Heroku项目的内部需求?

时间:2012-02-02 13:02:41

标签: python heroku pip

我们有一些内部库,我们已经拆分(出于几个原因,主要是行政管理或有可能在以后轻松开源)。如果重要的话,他们住在私人Github存储库中。

我想将一个应用程序部署到Heroku来试用它。这取决于其中一个库。

我应该在requirements.txt中指定我的依赖项。对于PyPI可安装的东西来说这很容易,但我该如何处理这些内部依赖?

我可以运行我自己的具有这些东西的私有PyPI镜像,或者我可以使用可编辑的包(即使文档说它们不应该用于生产)。

这样做的适当方法是什么?

4 个答案:

答案 0 :(得分:7)

GitHub允许在Git repos上进行HTTP基本身份验证。

所以,你可以添加这样的一行:

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

一切都会正常运作:)

答案 1 :(得分:1)

requirements.txt中,您可以提及以下内容。

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

同时您可以克隆库并创建虚拟环境并在env中安装。 Heroku dev center包含虚拟环境设置的文章。

答案 2 :(得分:0)

你可以在你的requirements.txt文件中写下“-e git + ssh://git@.../PIL#egg=PIL”而不是“PIL”,它会从那里获取它。

但是,这需要您以某种方式指定heroku在拉动时使用的ssh私钥。

答案 3 :(得分:0)

这里有一个buildpack:https://elements.heroku.com/buildpacks/debitoor/ssh-private-key-buildpack

这样做:

# Do this just once
require 'set'
$employee_ids = Set.new $employee_list

# Do this each time you need to check
def exist?(id)
  $employee_ids.include?(id)
end

现在将给定的ssh密钥添加到github,你可以使用那些" git+git@github.com"部署到Heroku时的依赖关系。