Kivy Buildozer AttributeError:“Context”对象没有属性“hostpython”

2024-06-16 12:21:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用buildozer为一个简单的python3/kivy应用程序构建一个apk,在我直接从虚拟机中获得的kivy.org网站,这是第二天,仍然没有运气。我有很多错误,不稳定的pip,更新的buildozer,pip安装的morse,pnglab,sh,appdirs,setuptools for py3,但现在我遇到了这个错误,我必须承认它真的让我抓狂了,有人知道这是怎么回事吗?我很想得到一个答案,因为我计划有一天把机器人开发作为我的工作,谢谢。这是错误:
AttributeError:“Context”对象没有属性“hostpython”

以及回溯:

Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 747, in <module> main()
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 744, in main ToolchainCL()
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 323, in __init__ getattr(self, args.command)(unknown)
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 105, in wrapper_func build_dist_from_args(ctx, dist, dist_args)
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/toolchain.py", line 142, in build_dist_from_args build_recipes(build_order, python_modules, ctx)
File "pythonforandroid/build.py", line 560, in build_recipes recipe.build_arch(arch)
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/recipes/python2/__init__.py", line 44, in build_arch self.do_python_build(arch)
File "/home/kivy/Desktop/TextEditor/.buildozer/android/platform/python-for android-master/pythonforandroid/recipes/python2/__init__.py", line 76, in do_python_build shprint(sh.cp, self.ctx.hostpython, self.get_build_dir(arch.arch))
AttributeError: 'Context' object has no attribute 'hostpython'
# Command failed: python -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=kivy --arch armeabi-v7a --copy-libs
#

Tags: inpybuildmasterhomeforlinefile
3条回答

这是由于新的pythonforandroid工具链中的一个bug引起的(这个bug是android_newbuildozer目标使用的)。您可以通过将python版本目标添加到需求中来解决这个问题,例如requirements = kivy,python2。在

基弗1.9 如果在buildozer.spec文件

要求=kivy,python2

对于Python3 要求=kivy,python3

实际上,对于Python3,要求是

requirements = kivy,python3crystax

你需要crytaxndk(https://www.crystax.net/en/android/ndk)而不是android NDK

相关问题 更多 >