-
Notifications
You must be signed in to change notification settings - Fork 531
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Buildozer Requirements Error with pyrebase #419
Comments
I just faced the same error but I think it's pycryptodome version, am still trying to fix it |
Try using the Requirements that are listed in the link. Review the add dependency section as I'm also getting multiple "ImportErrors" but am finally able to import pyrebase4 on buildozer==1.5.0 thanks to the correct libraries version mentioned on the above URL. |
I moved to Java, this is the main programming language for Android Apps, with Python is just a headache, Python is good for some math applications and data science. |
Yeah, Python can be a bit challenging sometimes, especially when dealing with Kivy for Android and iOS. But as they say, there is always a way to make it work! Still, as a backup, I also learned Flutter, just in case Python Kivy ever lets me down, lol. |
Since Pyrebase is no longer maintained, it might be better to switch to Pyrebase4, a fork of the original Pyrebase. The existing code doesn't need any changes—just update the import |
Make sure these boxes are checked before submitting your issue:
[] Check that your version of Python is 3.4+
[] Check that you are on the newest version of Pyrebase
[] Check that Email/password provider is enabled in your Firebase dashboard under Auth -> Sign In Method.
Please don't be discouraged if you do not get a response to your issue quickly,
I maintain Pyrebase for fun and don't always have as much free time as I'd like.
Thank you for helping make Pyrebase better!
I have This in my import on my main.py file:
import json import time import re import sqlite3 import firebase_admin import pyrebase import requests import wikipedia from firebase_admin import auth as auth1 from firebase_admin import credentials, firestore from kivy.core.text import LabelBase from kivy.uix.boxlayout import BoxLayout from kivy.uix.screenmanager import ScreenManager, Screen from kivymd.app import MDApp from kivymd.uix.boxlayout import MDBoxLayout from kivymd.uix.dialog import MDDialog from kivymd.uix.list import ILeftBodyTouch, TwoLineAvatarIconListItem from kivymd.uix.picker import MDDatePicker from kivymd.uix.selectioncontrol import MDCheckbox from kivy.uix.behaviors import ButtonBehavior from kivy.uix.modalview import ModalView from datetime import datetime from kivymd.toast import toast from docx import Document from urllib.request import urlopen from fileinput import close from kivy.core.clipboard import Clipboard from kivy.clock import Clock from kivy.properties import ColorProperty, ListProperty, ObjectProperty, BooleanProperty, StringProperty, NumericProperty
And I try to make an app using buildozer, kivy and pyrebase
This is buildozer.spec file:
`[app]
(str) Title of your application
title = Simplifique
(str) Package name
package.name = simplifique
(str) Package domain (needed for android/ios packaging)
package.domain = simplifique.org
(str) Source code where the main.py live
source.dir = .
(list) Source files to include (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas,ttf,db,json
(list) List of inclusions using pattern matching
#source.include_patterns = assets/,images/.png
(list) Source files to exclude (let empty to not exclude anything)
#source.exclude_exts = spec
(list) List of directory to exclude (let empty to not exclude anything)
#source.exclude_dirs = tests, bin, venv
(list) List of exclusions using pattern matching
Do not prefix with './'
#source.exclude_patterns = license,images//.jpg
(str) Application versioning (method 1)
version = 0.1
(str) Application versioning (method 2)
version.regex = version = '"['"]
version.filename = %(source.dir)s/main.py
(list) Application requirements
comma separated e.g. requirements = sqlite3,kivy
requirements = python3,os-sys,pypiwin32,aiohttp,aiosignal,async-timeout,attrs,beautifulsoup4,CacheControl,cachetools,certifi,cffi,charset-normalizer,click,colorama,cryptography,Cython,Deprecated,docopt,docutils,firebase-admin,Flask,Flask-MySQLdb,frozenlist,gcloud,google-api-core,google-api-python-client,google-auth,google-auth-httplib2,google-cloud-core,google-cloud-firestore,google-cloud-storage,google-crc32c,google-resumable-media,googleapis-common-protos,greenlet,grpcio,grpcio-status,hijri-converter,html5lib,httplib2,idna,itsdangerous,Jinja2,jwcrypto,kivy,kivymd,lxml,MarkupSafe,msgpack,multidict,Naked,oauth2client,pipreqs,proto-plus,protobuf,pycparser,pycryptodome,Pygments,pyparsing,pypiwin32,Pyrebase4,python-dateutil,python-docx,python-jwt,PyYAML,requests,requests-toolbelt,rsa,shellescape,six,soupsieve,SQLAlchemy,tornado,uritemplate,urllib3,webencodings,Werkzeug,wikipedia,wrapt,yarg,yarl
(str) Custom source folders for requirements
Sets custom source for any requirements with recipes
requirements.source.kivy = ../../kivy
(str) Presplash of the application
#presplash.filename = %(source.dir)s/data/presplash.png
(str) Icon of the application
icon.filename = %(source.dir)s/images/icon.png
(str) Supported orientation (one of landscape, sensorLandscape, portrait or all)
orientation = portrait`
And i get this error:
05-10 20:12:09.026 4420 4456 I python : Traceback (most recent call last): 05-10 20:12:09.026 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/simplifique/arm64-v8a/Crypto/Util/_raw_api.py", line 77, in <module> 05-10 20:12:09.026 4420 4456 I python : ImportError: CFFI with optimize=2 fails due to pycparser bug. 05-10 20:12:09.026 4420 4456 I python : During handling of the above exception, another exception occurred: 05-10 20:12:09.026 4420 4456 I python : Traceback (most recent call last): 05-10 20:12:09.026 4420 4456 I python : File "/content/.buildozer/android/app/main.py", line 6, in <module> 05-10 20:12:09.027 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/simplifique/arm64-v8a/pyrebase/__init__.py", line 1, in <module> 05-10 20:12:09.027 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/simplifique/arm64-v8a/pyrebase/pyrebase.py", line 17, in <module> 05-10 20:12:09.027 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/simplifique/arm64-v8a/oauth2client/service_account.py", line 25, in <module> 05-10 20:12:09.028 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/simplifique/arm64-v8a/oauth2client/client.py", line 45, in <module> 05-10 20:12:09.028 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/simplifique/arm64-v8a/oauth2client/crypt.py", line 55, in <module> 05-10 20:12:09.028 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/simplifique/arm64-v8a/oauth2client/_pycrypto_crypt.py", line 16, in <module> 05-10 20:12:09.029 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/simplifique/arm64-v8a/Crypto/Hash/SHA256.py", line 23, in <module> 05-10 20:12:09.029 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/simplifique/arm64-v8a/Crypto/Util/_raw_api.py", line 203, in <module> 05-10 20:12:09.029 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Lib/ctypes/__init__.py", line 386, in __getattr__ 05-10 20:12:09.029 4420 4456 I python : File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Lib/ctypes/__init__.py", line 391, in __getitem__ 05-10 20:12:09.030 4420 4456 I python : AttributeError: undefined symbol: PyObject_GetBuffer
I think its beacause of the requirements but idk, can someone help me?
The text was updated successfully, but these errors were encountered: