Это всегда терпит неудачу из-за того, что «kivy/wealproxy.pyx» содержит метод «__long(self)__», который возвращает «длинный» тип данных.
Я искал каждый Kivy, который мог найти, и везде этот метод уже был обновлен, чтобы не включать этот тип данных. типа данных больше нет.
Однако каким-то образом Buildozer, похоже, извлекает более старую версию Kivy во время сборки, что приводит к сбою.
Я указал buildozer.spec разными способами (версии и git-urls), и я проверил рецепт в своем локальном venv, чтобы он содержал правильный URL-адрес и версию (я не могу найти каталог p4a в моем .buildozer).
Неисправный файл можно найти только после того, как я попробовал сборку, поскольку тогда в каталоге /.buildozer появляются каталоги сборки.
Я много работал с ИИ над этой проблемой, но, похоже, я достиг своих пределов.
Строка .spec, которую я пробовал последней:
requirements = python3,kivy==2.3.1,cython>=0.29.36,pyjnius==1.7.0,certifi,charset-normalizer,docutils,filetype,idna,pygments,requests,urllib3
И небольшая часть точной ошибки:
Код: Выделить всё
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
Подробнее здесь: https://stackoverflow.com/questions/798 ... -i-force-i
Мобильная версия