我有一些Python代码很大程度上依赖于numpy / scipy和scikit-learn。什么是让它在Android设备上运行的最佳方式?我已经阅读了几种在Android上运行Python代码的方法,主要是Pygame和Kivy,但我不确定这会如何与numpy和scikit-learn进行交互。
或者考虑让android应用程序将数据发送到运行Python的某个服务器会更好吗?
答案 0 :(得分:6)
从它的声音我建议制作一个简单的Django服务器,可在pythonanywhere.com免费托管
如果您不了解Django,请阅读基本教程。一步一步地跟着它,你将在几个小时内成为一个集合。按照教程使用pythonanywhere同时实现示例。
一旦您感到舒服,只需创建一个网址,您的Android应用就可以向您发送GET请求并以JSON或REST格式接收您需要的信息。
https://docs.djangoproject.com/en/1.8/intro/tutorial01/
在手机上运行像numpy和scipy这样的代码,如果背后有大量的计算,也不会很快。更好的是在服务器上运行计算并在Android应用程序上检索它。
您可以将参数作为GET请求的一部分发送。配置Django应用程序的urls.py以接收这些参数并将其传递给views.py,您可以在其中执行脚本以处理它们,然后发回响应。
答案 1 :(得分:1)
取决于你需要的东西......
使用Flask / Django的服务器上的Python允许您为Android(或任何)设备构建http UI甚至API接口。
Qpython是在Android上运行python的绝佳方式,但可能无法应对整个scipy,所以取决于Qpython团队已经移植过哪些库。不过,这是一个很好的工具,值得一看。
恕我直言,为服务器端运行学习一点点比使用Kivy更容易,也更灵活。