上下文
我有一个本地文件夹,包含多个Python应用程序和一个通用python包。如您所见,我已经为每个Flask应用程序创建了一个virtualenv,因为我希望使用Zappa将其部署到AWS Lambda,并且只希望将相关的依赖项包含在指向AWS的包zip中。
project_folder/
+-- commons/
| +-- __init__.py
| +-- setup.py
| +-- module1.py
+-- application1/
| +-- __init__.py
| +-- app.py
| +-- env/
+-- application2/
| +-- __init__.py
| +-- app.py
| +-- env/问题
我无法在commons应用程序中包含这个包。我认为这是必须的,因为它是抵押品,而不是子目录。
我想避免在每个应用程序中添加一个副本。
来说它会变得太大了。
问题
如何确保在从commons内部调用zappa deploy时包含project_folder/application1/包
发布于 2019-10-10 13:27:11
解决方案之一是在虚拟环境中安装包(pip install .位于公用目录中)。Zappa将使用安装在其中的所有包。
当然,这有点麻烦,因为每次修改包时都需要重新安装它。你可以:
zappa deploy.callbacks部分注册。此模块将由部署/更新过程调用,理论上可以预先重新安装包。然而,这是我的猜测的选项,它可能是可能的。我从来没有尝试过这样的方法。--https://stackoverflow.com/questions/58322715
复制相似问题