[英]from google.cloud import bigquery ModuleNotFoundError: No module named 'google'
[英]from google.cloud import firestore ModuleNotFoundError: No module named 'google'
我無法讓我的應用程序正在閱讀Google Firestore中的文檔。
這是我的python Flask main.py
from flask import Flask
from google.cloud import firestore
app = Flask(__name__)
db = firestore.Client()
@app.route('/')
def hello():
posts_ref = db.collections(u'posts')
posts = posts_ref.get()
for post in posts:
return u'{} => {}'.format(post.id, post.to_dict())
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080, debug=True)
但是日志顯示以下錯誤。
2019-02-22 12:33:08 default[2-9] "GET / HTTP/1.1" 502
2019-02-22 12:33:10 default[2-9] [2019-02-22 12:33:10 +0000] [8] [INFO] Starting gunicorn 19.9.0
2019-02-22 12:33:10 default[2-9] [2019-02-22 12:33:10 +0000] [8] [INFO] Listening at: http://0.0.0.0:8081 (8)
2019-02-22 12:33:10 default[2-9] [2019-02-22 12:33:10 +0000] [8] [INFO] Using worker: threads
2019-02-22 12:33:10 default[2-9] [2019-02-22 12:33:10 +0000] [23] [INFO] Booting worker with pid: 23
2019-02-22 12:33:10 default[2-9] [2019-02-22 12:33:10 +0000] [23] [ERROR] Exception in worker process
2019-02-22 12:33:10 default[2-9] Traceback (most recent call last): File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py",l
ine 583, in spawn_worker worker.init_process() File "/env/lib/python3.7/site-packages/gunicorn/workers/gthread.py", line 104,
in init_process super(ThreadWorker, self).init_process() File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py",li
ne 129, in init_process self.load_wsgi() File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 138, in load_
wsgi self.wsgi = self.app.wsgi() File "/env/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi self.cal
lable = self.load() File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load return self.load_wsgiap
p() File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp return util.import_app(self.app
_uri) File "/env/lib/python3.7/site-packages/gunicorn/util.py", line 350, in import_app __import__(module) File "/srv/main
.py", line 2, in <module> from google.cloud import firestore ModuleNotFoundError: No module named 'google'
2019-02-22 12:33:10 default[2-9] [2019-02-22 12:33:10 +0000] [23] [INFO] Worker exiting (pid: 23)
2019-02-22 12:33:11 default[2-9] [2019-02-22 12:33:11 +0000] [8] [INFO] Shutting down: Master
我的目錄結構
我在lib文件夾和google文件夾中有init .py。
正如dustin-ingram @所暗示的那樣,你很可能沒有正確導入google.cloud.firestore
(可能還有flask
)軟件包。
一個好的做法是創建virtualenv, requirements.txt
然后pip install -r requirements.txt
。 其內容可能是:
flask==1.0.2
google-cloud-firestore==0.31.0
您的代碼中也有拼寫錯誤; 它的collection
不是collections
:
posts_ref = db.collection(u'posts')
您需要在項目中啟用Firestore(並且可能在運行代碼之前創建了posts
集合)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.