admin管理员组文章数量:1336419
I am trying to get python's wikipedia library working in the google cloud. I get a "No module named 'wikipedia'" error when I try and deploy my firebase functions.
[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
It works when I run the Flask server locally. Here is my code:
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)
And here is my main Flask app code:
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
I also added the wikipedia to my requirements.txt file and installed the dependancies by doing pip3 install -r requirements.txt
Any help would be welcome.
I am trying to get python's wikipedia library working in the google cloud. I get a "No module named 'wikipedia'" error when I try and deploy my firebase functions.
[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
It works when I run the Flask server locally. Here is my code:
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)
And here is my main Flask app code:
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
I also added the wikipedia to my requirements.txt file and installed the dependancies by doing pip3 install -r requirements.txt
Any help would be welcome.
Share Improve this question asked Nov 20, 2024 at 20:48 MattJMattJ 1419 bronze badges1 Answer
Reset to default 0I got it working. I ran the following in my src/routes/functions directory
python3 -m venv venv
source venv/bin/activate && python3.11 -m pip install -r requirements.txt
本文标签: Wikipedia python library not working when doing a firebase deployStack Overflow
版权声明:本文标题:Wikipedia python library not working when doing a firebase deploy - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742329136a2454330.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论