如何为Python Heroku项目安装内部需求?
我们有一些内部开发的库,出于几个原因(主要是管理上的考虑,或者为了将来能更方便地开源),我们把它们分开了。这些库存放在私有的Github仓库里,如果这有影响的话。
我想把一个应用部署到Heroku上试试。这个应用依赖于其中一个库。
我需要在requirements.txt文件中指定我的依赖项。对于那些可以从PyPI安装的库,这很简单,但对于这些内部库我该怎么办呢?
我可以自己运行一个私有的PyPI镜像,把这些库放上去,或者我可以使用可编辑的包(尽管文档上说不应该在生产环境中使用)。
那么,正确的做法是什么呢?
4 个回答
0
你可以在你的requirements.txt文件里写上“-e git+ssh://git@.../PIL#egg=PIL”,这样它就会从那个地方获取PIL,而不是单纯写“PIL”。
不过,这样做的话,你还需要告诉Heroku用哪个ssh私钥来拉取这个代码。
1
在 requirements.txt
文件中,你可以这样写:
git+git://github.com/kracekumar/blaze.git
同时,你也可以把这个库克隆下来,然后创建一个虚拟环境,在这个环境里安装它。Heroku开发中心 有一些关于如何设置虚拟环境的文章。
7
GitHub支持在Git仓库上使用HTTP基本认证。
所以,你可以添加一行代码,像这样:
-e git+https://username:password@github.com/kennethreitz/requests.git@v0.10.0#egg=requests
这样一来,一切就能正常工作啦 :)