Kivy App在Android中崩溃,但在PC中不崩溃 Buildozer'KeyError:'kivy.garden.matplotlib'

问题描述

版本:

  • Python:3.8.5
  • 操作系统:Manjaro 20.04
  • Buildozer:1.2.0
  • 基辅:1.11.1

说明:

我想使用.py文件中的命令“从kivy.garden.matplotlib.backend_kivyagg import FigureCanvasKivyAgg”来绘制matplotlib的图形。此命令在PC上有效,但在Android上无效。

规范文件:

    requirements: python3,kivy==2.0.0rc3,https://github.com/kivymd/KivyMD/archive/master.zip,sdl2_ttf==2.0.15,matplotlib

logcat | grep python

    09-14 11:32:56.530 17786 18857 I python  :  KeyError: 'kivy.garden.matplotlib'
    09-14 11:32:56.531 17786 18857 I python  : Python for android ended.

解决方法

正如错误所指出的,您没有花园的要求。它可以在您的PC上运行,因为您可能这样做了:

garden install matplotlib

在您的PC上的某个点上,因此您拥有了花园的花朵,但这仅是问题的一半。事实是,不建议使用kivy garden,因此您应该停止使用它,现在要在您的应用中使用花园花,您应该这样做:

garden install --app some_flower

这是因为不建议使用pip软件包来使用花园花卉,但并非所有花卉都已移至pypi,因此,如果尚未移动所需的软件包,请使用上面的命令,否则,只需使用pip和ialso正常安装即可在您的需求中添加它。 您遇到的另一个主要问题是 MATPLOTLIB在ANDROID上无法正常工作这是一个主要问题,已经讨论了一段时间,但AFAIK目前尚无人在解决此问题,如果您只需要绘制一个虽然有一个简单的图,但是有一个名为graph的花园程序包,请使用以下命令安装它:

python -m pip install https://github.com/kivy-garden/graph/archive/master.zip

然后在您的应用程序中使用它,这只是python,因此它可以在android上运行,并由我尝试过。如果您想知道如何使用它,请参见README

上的示例

然后您可以将该URL包含在buildozer中的需求中(就像您对KivyMD所做的一样

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...