2016-03-29 80 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,但是這會使生成時間加倍,並且仍然需要製作一個配方。