从 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
EXPERTE
gefragt vor 5 Monaten31 Aufrufe
1 Antwort
0

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

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen