我想在beanstalk上部署一个Python Flask应用程序。
该应用程序取决于外部包(例如geopy
)和内部包(例如adam_geography
)。
创建一个requirements.txt文件并将其放在顶级目录中 您的源包。
这可能会获取geopy
及其依赖项,但不会提取adam_geography
,这可以从我的VPC中的自定义仓库中获取。
如何在Beanstalk应用程序中指定/上传私有的内部Python包依赖项?
答案 0 :(得分:1)
1)将内部Python包复制到服务器
2)使用Pip的“可编辑安装”功能来安装私有包:
pip install -e path/to/SomeProject
http://pip.readthedocs.org/en/latest/reference/pip_install.html#editable-installs
答案 1 :(得分:1)
使用ebextensions指定可用于在所有EC2实例上下载文件的自定义命令。这些ebextensions可以用来像@shavenwarthog在他的回答中提到的那样运行pip。
在应用程序源根目录中创建名为.ebextensions
的目录。在此目录中创建一个.config
扩展名为01-custom-files.config
的文件。
此文件可以包含要在每个EC2实例上运行的自定义unix命令。
您可以在此处运行自己的脚本。
您还可以使用在EC2实例上解压缩应用程序源后执行的container_commands。
在此处阅读有关命令和container_commands的更多信息。您也可以在这里找到示例: