如何解决Kivy buildozer Firestore错误-ModuleNotFoundError:没有名为“ google.cloud”的模块
我正在使用buildozer打包我的kivy应用程序。我的应用程序使用Google Cloud Firestore和Cloud Storage。当我尝试在Android手机上部署它时,出现错误ModuleNotFoundError: No module named 'google.cloud'
。我的buildozer.spec文件中包含以下要求行:
requirements = python3,kivy,kivymd,requests,google-auth,google-oauthlib,firebase-admin,google-cloud-firestore,cachetools,google-cloud,firebase-client,google-cloud-storage
在google-auth
之后,我刚刚开始添加可以从以前问过这个问题的人那里找到的所有要求。从这些链接:
KivyMD Buildozer Android and firebase-admin
how to correctly implement the google API on a Kivy application compiling with buildozer?
buildozer中的错误消息:
File "/home/user/buildozer/appname/.buildozer/android/app/main.py",line 26,in <module. python : ModuleNotFoundError: No module named 'google.cloud'
我认为此错误与main.py文件有关?这些是我在main.py
文件中的导入:
from kivymd.toast import toast #loads of kivy and kivymd imports but haven't included them all
from google.cloud import firestore
from plyer import filechooser
import os
import pyrebase
import requests
import json
import datetime
import pytz
import threading
from functools import partial
import postcodes_io_api
import pgeocode
from my_firestore import Firestore
解决方法
以下是效果很好的解决方案:
我发现谷歌模块是,或者我可以说模块像
google.cloud、google.storage等
存储在名为 google 的文件中,您可以在您的环境中导航它
“env/../../site-packages/google”
所以我做了什么,我进入了我的 .buildozer 文件夹中的这个路径
.buildozer/android/platform/build-armeabi-v7a/build/python-installs/yummycom/google
yummycom 是我的项目名称忽略它
所以我将它与我的 env 中的 google 文件夹进行了比较,我只是复制其中的内容
我粘贴在那里,对我来说效果很好
因为当它进入该目录时,它们会丢失,尽管您将它们包含在您的要求中
100% 有效
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。