问题描述
版本:
- 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
所做的一样