首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图通过Gitlab CI/CD部署gcloud应用程序到GAE。日志显示ModuleNotFoundError:没有名为“烧瓶”的模块

试图通过Gitlab CI/CD部署gcloud应用程序到GAE。日志显示ModuleNotFoundError:没有名为“烧瓶”的模块
EN

Stack Overflow用户
提问于 2022-06-03 21:40:29
回答 1查看 71关注 0票数 0

我有一个酒瓶应用程序,可以部署到我的本地主机。不幸的是,当试图将它部署到Google时,我遇到了一个错误。当我在我的gcloud --project $PROJECT_ID app deploy app.yaml文件中调用.gitlab-ci.yml之后遵循控制台中指定的链接时,我会收到一个500 server error。为了调试这一点,我使用了gcloud app logs read,它显示了一个很长的错误,结尾是:

代码语言:javascript
复制
    File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed    File 
    "/srv/main.py", line 1, in <module>      from flask import Flask, request, jsonify, 
    abort  ModuleNotFoundError: No module named 'flask'

我的app.yaml文件如下:

代码语言:javascript
复制
entrypoint: "gunicorn -b:$PORT main:app"
service_account: app-engine-admin@###########.iam.gserviceaccount.com
runtime_config:
  python_version: 3

handlers:
- url: .*
  script: main.app

我的requirements.txt读到:

代码语言:javascript
复制
firebase_admin==5.2.0
Flask==2.1.2

我的.gitlab-ci.yml中被调用的部分是:

代码语言:javascript
复制
gcloud-deploy:
  image: google/cloud-sdk:alpine
  stage: deploy
  only:
    - dev2
  script:
    - echo $SERVICE_ACCOUNT > /tmp/$CI_PIPELINE_ID.json
    - gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json
    - gcloud --project $PROJECT_ID app deploy app.yaml
    - rm /tmp/$CI_PIPELINE_ID.json

这个错误让我感到困惑,因为我认为requirements.txt文件中列出的所有库都将在部署期间由GAE导入。如果有人遇到这样的情况,或可以指出我的正确方向,这将是非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-15 16:27:24

这个问题的答案很简单。我只是在requirements.txt文件中丢失了几个包。主要的是gunicorn包。因为它没有安装,所以web服务器从来没有真正地被中断过。这导致了我遇到的问题。我使用pipenv lock -r > requirements.txt解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72495424

复制
相关文章

相似问题

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