首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Zappa部署打包本地python依赖项

为Zappa部署打包本地python依赖项
EN

Stack Overflow用户
提问于 2019-10-10 12:16:51
回答 1查看 1.1K关注 0票数 2

上下文

我有一个本地文件夹,包含多个Python应用程序和一个通用python包。如您所见,我已经为每个Flask应用程序创建了一个virtualenv,因为我希望使用Zappa将其部署到AWS Lambda,并且只希望将相关的依赖项包含在指向AWS的包zip中。

代码语言:javascript
复制
project_folder/
 +-- commons/
 |   +-- __init__.py
 |   +-- setup.py
 |   +-- module1.py
 +-- application1/
 |   +-- __init__.py
 |   +-- app.py
 |   +-- env/
 +-- application2/
 |   +-- __init__.py
 |   +-- app.py
 |   +-- env/

问题

我无法在commons应用程序中包含这个包。我认为这是必须的,因为它是抵押品,而不是子目录。

我想避免在每个应用程序中添加一个副本。

  • 我不想将整个项目创建到一个巨大的包中,因为对于AWS

来说它会变得太大了。

问题

如何确保在从commons内部调用zappa deploy时包含project_folder/application1/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-10 13:27:11

解决方案之一是在虚拟环境中安装包(pip install .位于公用目录中)。Zappa将使用安装在其中的所有包。

当然,这有点麻烦,因为每次修改包时都需要重新安装它。你可以:

  1. Create是一个脚本,它可以帮助您重新安装,然后调用zappa deploy.
  2. Try以,创建您自己的模块,并在zappa_settings.json的callbacks部分注册。此模块将由部署/更新过程调用,理论上可以预先重新安装包。然而,这是我的猜测的选项,它可能是可能的。我从来没有尝试过这样的方法。--
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58322715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档