Es schlägt immer fehl, weil „kivy/wealproxy.pyx“ eine Methode „__long(self)__“ enthält, die einen „langen“ Datentyp zurückgibt.
Ich habe nach jedem Kivy gesucht, das ich finden konnte, und überall wurde diese Methode bereits aktualisiert, sodass sie dies nicht enthält Datentyp mehr.
Irgendwie scheint Buildozer während des Builds eine ältere Version von Kivy abzurufen, was dazu führt, dass es fehlschlägt.
Ich habe die buildozer.spec auf viele verschiedene Arten angegeben (Versionen und Git-URLs) und ich habe das Rezept in meinem lokalen Venv überprüft, um die richtige URL und Version zu enthalten (ich kann das Verzeichnis von p4a in meinem .buildozer nicht finden).
Die fehlerhafte Datei kann erst gefunden werden, nachdem ich einen Build ausprobiert habe, da dann die Build-Verzeichnisse im /.buildozer-Verzeichnis angezeigt werden.
Ich habe viel mit AI an diesem Problem gearbeitet, aber ich scheine an seine Grenzen gestoßen zu sein.
Die .spec-Zeile, die ich zuletzt ausprobiert habe:
requirements = python3,kivy==2.3.1,cython>=0.29.36,pyjnius==1.7.0,certifi,charset-normalizer,docutils,filetype,idna,pygments,requests,urllib3
Und ein kleiner Teil des genauen Fehlers:
Code: Select all
RAN: /home/venv/bin/python3 '-cimport sys; from Cython.Compiler.Main import setuptools_main; sys.exit(setuptools_main());' ./kivy/weakproxy.pyx
STDOUT:
Error compiling Cython file:
------------------------------------------------------------
...
def __int__(self):
return int(self.__ref__())
def __long__(self):
return long(self.__ref__())
^
------------------------------------------------------------
kivy/weakproxy.pyx:257:15: undeclared name not builtin: long
Mobile version