从 python 3.7 迁移到 python3.8 后出现 Elastic Beanstalk 报错

0

【以下的问题经过翻译处理】 我使用的是 EB 平台:Python 3.7 AL2 版本 3.3.11,一切正常。

但是,当我尝试同时升级到更新的 AL2 版本 (3.3.12) 和更新的 Python 版本 (3.8) 时,故障排除就出现了。错误发生在“[app-deploy] - [StageApplication]”:

eb引擎:

022/04/20 11:51:08.170326 [INFO] 执行指令:StageApplication
2022/04/20 11:51:08.171215 [信息] 将 /opt/elasticbeanstalk/deployment/app_source_bundle 提取到 /var/app/staging/
2022/04/20 11:51:08.171232 [INFO] 运行命令 /bin/sh -c /usr/bin/unzip -q -o /opt/elasticbeanstalk/deployment/app_source_bundle -d /var/app/staging/
2022/04/20 11:51:08.208452 [信息] 已成功将 /opt/elasticbeanstalk/deployment/app_source_bundle 提取到 /var/app/staging/
2022/04/20 11:51:08.212657 [错误] 执行命令 [app-deploy] - [StageApplication] 期间发生错误。停止运行命令。错误:chown /var/app/staging/venv/dev/lib/python3.8/collections:没有那个文件或目录

错误具体说:

[错误] 执行命令 [app-deploy] - [StageApplication] 期间发生错误。停止运行命令。错误:chown /var/app/staging/venv/dev/lib/python3.8/collections:没有那个文件或目录

我不知道为什么它会去那里,而不是 /var/app/venv/staging-LQM1lest/lib/python3.8 那是我认为它应该去的地方,也是虚拟环境。

我可以确保在部署时忽略本地 /venv 文件夹(遵循此相关问题 https://stackoverflow.com/questions/61805345/aws-elastic-beanstalk-chown-pythonpath-error)。尽管如此,在通过 ssh 连接到实例后,我可以在 /var/app/staging/ 中看到一个包含 pyton3.8 子文件夹的 venv 文件夹。我很想知道为什么会发生这种情况以及在此过程中我做错了什么?

profile picture
专家
已提问 5 个月前27 查看次数
1 回答
0

【以下的回答经过翻译处理】 已经解决。 在我的本地 venv 中,python 3.8 添加了符号链接,.ebignore 不会忽略它们(这是 awsebcli 的一个错误)。有几种解决方法,但确实存在这个问题。 请参阅:https://github.com/aws/aws-elastic-beanstalk-cli/issues/69

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则