我有一個 Flask 應用程式,可以部署到我的本地主機。不幸的是,在嘗試將其部署到 Google App Engine 時,我遇到了錯誤。gcloud --project $PROJECT_ID app deploy app.yaml當我在檔案中呼叫后按照控制臺中指定的鏈接時.gitlab-ci.yml,我收到一個500 server error. 為了除錯這個我使用了gcloud app logs read顯示一個很長的錯誤結尾:
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檔案內容如下:
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讀物:
firebase_admin==5.2.0
Flask==2.1.2
和我的被呼叫部分.gitlab-ci.yml:
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 匯入。如果有人遇到這種情況或可以指出我正確的方向,將不勝感激!
uj5u.com熱心網友回復:
這個問題的答案最終變得非常簡單。我只是在requirements.txt檔案中丟失了一些包。最主要的是gunicorn包。因為它沒有安裝,所以 Web 服務器從未真正啟動過。這導致了我遇到的問題。我通過使用解決了這個問題pipenv lock -r > requirements.txt。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/496405.html
標籤:烧瓶 谷歌应用引擎 gitlab-ci 谷歌应用引擎 python 模块未找到错误
上一篇:GoogleAppEngine:對使用dispatch.yaml的路由感到困惑
下一篇:01-Nginx概述以及常用命令
