pylab - Usando python y matplotlib en android
matplotlib python 3 windows (11)
¿Hay alguna manera de configurar python 2.7.x + matplotlib en una tableta Android para que pueda ejecutar código python estándar simple? Me gustaría poder ejecutar los mismos scripts que ejecuto en mi escritorio de Linux. Esto es solo para mi propio uso y no necesito distribuir el código a nadie más.
Como ejemplo concreto, ¿es posible ejecutar este script?
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5, 0.1);
y = np.sin(x)
plt.plot(x, y)
¿Alguna vez has oído hablar de qpython? http://qpython.com/ personalmente nunca lo utilicé, pero mi colega fue bastante útil con él, así que es posible que desee ver eso
¿Podrías configurar un servidor barato (Raspberry Pi?) Y crear una conexión ssh para acceder a la funcionalidad completa de Python a través de una aplicación de Android vnc o el shell
Al buscar numpy android
en Google, encontré una biblioteca muy bonita. Supongo que podría ser útil.
Aquí está el código, esto funciona después de instalar GNURoot Debian como dijiste. Solo un detalle: mi gráfica se exporta directamente en un archivo .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)
Es fácil, no.
Se puede hacer? Sí. Creo que un desarrollador experto de Python / Android podría hacerlo en 2 a 8 horas de esfuerzo. Es una solicitud rara y compleja.
¿Por qué creo que se puede hacer? Este ejemplo: http://matplotlib.org/examples/pylab_examples/webapp_demo.html
Utilizando una biblioteca diferente, y no abstraída para datos sin hardware en vivo, este ejemplo me muestra que SL4A puede hacer gráficos basados en web: http://www.smartphonedaq.com/android-python-ecg.page
Ahora, si estuvieras hablando de gráficos GUI nativos en Android, entonces estoy demasiado centrado en los métodos web de publicación con SL4A;)
Hay una aplicación llamada Gnuroot que te permite ejecutar un tipo de chroot (prox), donde puedes instalar una distribución de Linux como Debian, Archlinux ...
Para la interfaz gráfica de usuario, existe la opción de ejecutar un vncserver para un servidor X y utilizar alguna aplicación de cliente vnc de Android para mostrar la pantalla.
Uso la versión no guiada de gnuroot y funciona bien. Ahora tengo una línea de comando debian wheezy en el brazo de lollipop de Android. Una cosa menor que extraño, es armhf (punto flotante de hardware que puede hacer el procesador de mi nexus7) en lugar de armel (punto flotante de software).
He leído en algún lado que scipy y matplotlib no se pueden compilar para android, pero alguien lo hizo por numpy
https://code.google.com/p/android-scripting/issues/detail?id=260
Puedes probar MathSys . Es un envoltorio alrededor de Python, y tiene matplotlib adentro.
Desafortunadamente, MathSys es bastante intrincado, y es una versión alfa. Aparentemente, nadie está trabajando en una versión beta. Querrá escribir cualquier código complicado en un archivo externo. import
funciona bien en MathSys.
Sí, se puede hacer, incluso sin raíz. Necesita la aplicación termux
, básicamente es un emulador de terminal con un entorno Linux completo y, a través de apt install python
, por ejemplo, puede instalar python
.
La página web principal está aquí y, por supuesto, está disponible en el mercado estándar. (El wiki de termux es un lugar útil).
Use el shell de Linux, lo tengo git python y pip instalado en mi teléfono. Utilicé gnuroot en Play Store. Puedes instalar install python pip desde allí