将不纯的Python包部署到AWS



我有兴趣使用Python包(graphviz)在AWS上托管的Flask服务器上进行一些后端计算。这个包似乎有相当多的非Python依赖项,实际上它不能完全由pip安装。(我使用Homebrew在本地安装了它。)

如何将这样的包部署到我的Elastic Beanstalk环境中?

对于我正在使用的所有其他Python包,我只是在requirements.txt文档中保留了一个列表,Elastic Beanstalk使用pip自动安装它们,但这不适用于包的非Python部分(据我所知,大部分是编译的C代码)。

您可以包括,例如:

packages: 
  yum:
    graphviz: []            # [] can optionally be replaced with version number
    other_dependencies: []  # otherwise [] will install the latest version

在应用程序的.ebextensions/目录中的.config文件中。当使用eb deploy部署应用程序时,程序包将由yum实用程序安装到您的实例中。

完整的文件看起来像(假设你使用AWS的教程创建了它)

option_settings:
  things
container_commands:
  things
packages: 
  yum:
    graphviz: []

文档

如果您愿意迁移到CodeDeploy,您可以安装Homebrew并将包作为部署的一部分进行安装。

相关内容

  • 没有找到相关文章

最新更新