Firebase部署Python函数时提示找不到wikipedia模块的问题求助
Firebase部署Python函数时提示找不到wikipedia模块的问题求助
我正在尝试让Python的wikipedia库在Google Cloud的Firebase Functions中正常工作,但部署的时候一直报错No module named 'wikipedia',本地跑Flask服务器是完全正常的,实在摸不着头脑,来求助大家!
报错日志:
[2024-11-20 15:32:31,620] ERROR in app: Exception on /__/functions.yaml [GET] Traceback (most recent call last): File "src/routes/functions/venv/lib/python3.11/site-packages/flask/app.py", line 1511, in wsgi_app response = self.full_dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/routes/functions/venv/lib/python3.11/site-packages/flask/app.py", line 919, in full_dispatch_request rv = self.handle_user_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/routes/functions/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ File "src/routes/functions/venv/lib/python3.11/site-packages/flask/app.py", line 902, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/routes/functions/venv/lib/python3.11/site-packages/firebase_functions/private/serving.py", line 122, in get_functions_yaml functions = get_functions() ^^^^^^^^^^^^^^^ File "src/routes/functions/venv/lib/python3.11/site-packages/firebase_functions/private/serving.py", line 40, in get_functions spec.loader.exec_module(module) File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "src/routes/functions/main.py", line 5, in <module> from cancer import get_cancer, get_wiki_cancer File "src/routes/functions/cancer.py", line 2, in <module> import wikipedia ModuleNotFoundError: No module named 'wikipedia' 127.0.0.1 - - [20/Nov/2024 15:32:31] "GET /__/functions.yaml HTTP/1.1" 500 - 127.0.0.1 - - [20/Nov/2024 15:32:31] "GET /__/quitquitquit HTTP/1.1" 200 - /bin/sh: line 1: 50587 Terminated: 15 python3.11 "/src/routes/functions/venv/lib/python3.11/site-packages/firebase_functions/private/serving.py" Error: Functions codebase could not be analyzed successfully. It may have a syntax or runtime error
相关代码:
cancer.py
import json import wikipedia def get_wiki_cancer(db): print('Reading wikipedia') #cancers = "TEST CANCERS PAGE" cancers = wikipedia.page("List_of_cancer_types") print(cancers.content) return json.dumps(cancers.content)
主Flask应用代码
import firebase_admin from firebase_admin import credentials, firestore from flask import Flask, request from firebase_functions import https_fn from cancer import get_cancer, get_wiki_cancer from flask_cors import CORS, cross_origin # Initialize Firebase Admin SDK cred = credentials.Certificate("serviceAccountKey.json") firebase_admin.initialize_app(cred) db = firestore.client() app = Flask(__name__) CORS(app, support_credentials=True) @app.route('/cancers_wiki', methods=['GET']) @cross_origin(supports_credentials=True) def get_wiki_cancers(): print("wikipedia test") cancers = "TESTING" cancers_content = get_wiki_cancer(db) return cancers_content
已尝试的操作:
- 已经把
wikipedia添加到了requirements.txt文件中 - 执行了
pip3 install -r requirements.txt安装依赖
有没有大佬能帮忙看看问题出在哪呀?非常感谢!
备注:内容来源于stack exchange,提问作者MattJ
相关产品推荐
相关产品推荐

