Kivy Android Scikitlearn

时间:2016-03-29 06:49:52

标签: android scikit-learn kivy

我正在尝试基于Kivy和Scikitlearn构建测试Android应用程序。要构建apk我使用buildozer。应用程序的代码是基本的Hello world示例。在buildozer.spec文件中,我将scikit-learn添加为外部库:

[app]

title = MyTest

package.name = kivycrash2

package.domain = org.test

source.dir = .

source.include_exts = py,png,jpg,kv,atlas

version = 0.1

requirements =  kivy, numpy, scikit-learn

orientation = landscape

当我尝试构建apk时,出现以下错误:

 ImportError: Numerical Python (NumPy) is not installed.
    scikit-learn requires NumPy >= 1.6.1.

我也尝试过sklearn而不是scikit-learn没有成功。是否有可能满足Numpy所需的版本?

谢谢。

1 个答案:

答案 0 :(得分:1)

这里的问题是scikit-learn正在自己的设置中搜索一个numpy安装,但是它并不知道在android构建目录中查看为android体系结构构建了numpy。我尝试为scikit-learn创建一个python-for-android配方(而不是你当前尝试使用pip的方法),要么修补它以覆盖numpy检查,要么可能试图让它正确检测numpy将正确的目录添加到PYTHONPATH - 但我不确定这是否可行,这取决于它在安装过程中尝试导入的内容。

还有其他可能性,例如新的python-for-android工具链可能有一种让setup.py自动找到numpy的方法,但是这会使numpy构建时间加倍,但仍需要你制作一个食谱。