2016-03-29 42 views
2

我想基于Kivy和Scikitlearn构建一个测试Android应用程序。要构建apk,我使用buildozer。该应用程序的代码是基本的Hello World示例。在buildozer.spec文件I添加scikit学习作为外部库:Kivy Android Scikitlearn

[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学习没有成功。是否可以满足Numpy所需的版本?

谢谢。

回答

1

这里的问题是scikit-learn在自己的安装过程中正在寻找一个numpy安装,但是它不知道在Android构建目录下的Android构建目录中寻找numpy。我试着为scikit-learn创建一个python-for-android配方(而不是你目前使用pip的方法),要么修补它来覆盖numpy检查,要么尝试让它通过添加正确的目录到PYTHONPATH - 但我不确定这是否会起作用,这取决于它在安装过程中尝试导入的内容。

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