繁体   English   中英

AWS Elastic Beanstalk 中的 Python:私有 package 依赖项

[英]Python in AWS Elastic Beanstalk: Private package dependencies

我想在 beanstalk 上部署一个 Python Flask 应用程序。

应用程序依赖于外部包(例如geopy )和内部包(例如adam_geography )。

手册

创建一个 requirements.txt 文件并将其放在源包的顶级目录中。

这可能会获取geopy及其依赖项,但不会获取可从我的 VPC 中的自定义存储库获得的adam_geography

如何在 Beanstalk 应用程序中指定/上传私有的内部 Python package 依赖项?

1) 将内部 Python package 复制到服务器

2) 使用 Pip 的“可编辑安装”功能安装私有 package:

pip install -e path/to/SomeProject

http://pip.readthedocs.org/en/latest/reference/pip_install.html#editable-installs

使用 ebextensions 指定可用于在所有 EC2 实例上下载文件的自定义命令。 这些 ebextensions 可用于运行 pip 就像@shavenwarthog 在他的回答中建议的那样。 在您的应用程序源根目录中创建一个名为.ebextensions的目录。 在此目录中创建一个扩展名为.config的文件,例如01-custom-files.config 此文件可以包含您要在每个 EC2 实例上运行的自定义 unix 命令。 您可以在此处运行自己的脚本。

您还可以使用在 EC2 实例上解压缩应用程序源后执行的 container_commands。

在此处阅读有关命令和 container_commands 的更多信息。 您还可以在此处找到示例:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-commands

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-container_commands

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM