33

有没有办法在 android 平板电脑上设置 python 2.7.x + matplotlib 以便您可以运行简单的标准 python 代码?我希望能够运行我在 Linux 桌面上运行的相同脚本。这仅供我自己使用,我不需要将代码分发给其他任何人。

作为一个具体的例子,是否可以运行这个脚本?

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.1);
y = np.sin(x)
plt.plot(x, y)
4

13 回答 13

6

容易吗,不。

可以做到吗?是的。我相信熟练的 Python / Android 开发人员可以在 2 到 8 小时内完成。这是一个罕见且复杂的请求。

为什么我认为可以做到?此示例: http: //matplotlib.org/examples/pylab_examples/webapp_demo.html

使用不同的库,并且没有对没有实时硬件的数据进行抽象,这个示例向我展示了 SL4A 可以做基于网络的图形: http ://www.smartphonedaq.com/android-python-ecg.page

现在,如果您在谈论 Android 中的原生 GUI 图形 - 那么我过于关注使用 SL4A 发布的网络方法;)

于 2013-08-30T05:57:06.980 回答
4

Pydroid 非常适合 Android 上的 Matplotlib,支持 Numpy 和许多其他库:

Python 2.7 的Pydroid

用于 Python 3.6 的Pydroid 3

于 2017-11-12T18:20:28.597 回答
1

有一个名为 Gnuroot 的应用程序允许您运行某种 chroot (proot),您可以在其中安装 linux 发行版,例如 debian、archlinux ...
对于 gui,可以选择为 X 运行 vncserver服务器并使用一些 android vnc 客户端应用程序来显示屏幕。

我使用 gnuroot 的非 gui 版本,它运行良好。我现在在 android lollipop arm 上有一个命令行 debian wheezy。我想念的一件小事是 armhf(我的 nexus7 的处理器可以做的硬件浮点)支持而不是 armel(软件浮点)。

于 2015-03-06T19:57:40.610 回答
1

是的,即使没有root也可以做到。您需要该termux应用程序,它基本上是一个具有完整 Linux 环境的终端仿真器apt install python,例如,您可以通过python.

主网页在这里,当然可以通过标准市场获得。(termux wiki是一个很有帮助的地方。)

于 2017-09-16T15:03:52.430 回答
0

您可以设置一个便宜的服务器(Raspberry Pi?)并创建一个到它的 ssh 连接,以通过 vnc 查看器 android 应用程序或 shell 访问完整的 python 功能

于 2014-11-26T04:11:46.080 回答
0

听说过qpython吗? http://qpython.com/ 我个人从没用过,但我的同事用起来很方便,所以你可能想看看

于 2013-08-21T11:31:45.683 回答
0

我在某处读过 scipy 和 matplotlib 无法为 android 编译,但有人为 numpy 做了

https://code.google.com/p/android-scripting/issues/detail?id=260

于 2013-08-27T03:22:51.477 回答
0

你可以试试MathSys。它是 Python 的包装器,里面有 matplotlib。

不幸的是,MathSys 相当复杂,而且它是一个 alpha 版本。显然,没有人在开发测试版。您需要在外部文件中编写任何复杂的代码。import在 MathSys 中运行良好。

于 2015-05-21T03:59:41.853 回答
0

这个帖子有很多不正确的信息!我首先尝试了 Termux,使用了来自该线程的信息: 如何在 Android 设备上安装 Jupyter notebook? 但无法让我终生下载 Matplotlib。错误消息表明我需要安装轮子,我确实这样做了,但安装崩溃只是被推迟了。我并不是说不可能在 Galaxy Tab A 上从 Termux 安装 Matplotlib,但我做不到。另一方面,下载 Pyroid3 很简单,安装 numpy、scipy 和 matplotlib 也是如此。这是我的建议,基于这样做的成功。

于 2020-12-09T14:14:54.833 回答
0

numpy androidGoogle 上搜索后,我发现了一个非常不错的。我想这可能会有所帮助。

上面的链接不再有效。请在此处找到有关该库的更多信息。

于 2017-06-05T10:50:33.443 回答
0

这是代码,如您所说,在安装 GNURoot Debian 后可以使用。只是一个细节:我的图表直接导出到一个.png文件中:

from pylab import *
import matplotlib.pyplot as plt
plt.switch_backend('agg')
x = linspace(-5, 5, 100)
y = sin(x)
plot(x, y)
out_png = 'out_file.png'
plt.savefig(out_png, dpi=150)
于 2017-10-18T21:17:31.953 回答
0

我刚刚为自己运行了这个,这些是我使用的步骤:

  1. 安装 termux(来自 Play 商店或 FDroid)
  2. 在termux中安装python:
pkg install python
  1. 安装 matplotlib
  2. 为 matplotlib 安装图形环境(我安装了 tkinter):
pkg install python-tkinter
  1. 安装 X 服务器 (我使用 XServer XSDL)
  2. 在你的 python 中使用这个初始化序列:
import os
from time import sleep
os.environ["MPLBACKEND"] = "TkAgg"
os.environ["DISPLAY"] = ":0.0"
print('Loading X server...')
os.system("am start --user 0 -n x.org.server/.RunFromOtherApp 2>/dev/null")
os.environ["DISPLAY"] = ":0.0"
sleep(8) # give the X server an opportunity to start
print('Done')
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.1);
y = np.sin(x)
plt.plot(x, y)
plt.show()

可能有更好的方法来检测 X 服务器是否已经在运行,因此您不必每次都启动它,但我还没有弄清楚如何做到这一点。

于 2022-02-21T19:53:35.507 回答
-2

使用 linux shell,我在手机上安装了 git python 和 pip。我在 play store 中使用了 gnuroot .. 你可以从那里 apt-get install python pip

于 2015-10-29T23:15:23.507 回答