You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 10:55:31