Utiliser python et matplotlib sur android
Est-il un moyen de configurer python 2.7.x + matplotlib sur une tablette android pour que vous puissiez exécuter du code python standard simple? J'aimerais pouvoir exécuter les mêmes scripts que J'exécute sur mon bureau Linux. C'est juste pour mon usage personnel et je n'ai pas besoin de distribuer le code à quelqu'un d'autre.
un exemple concret, est-il possible d'exécuter ce 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)
12 réponses
Est-il facile, non.
Peut-il être fait? Oui. Je crois qu'un développeur Python / Android compétent pourrait le faire en 2 à 8 heures d'effort.. C'est une requête rare et complexe.
Pourquoi dois-je pense que cela peut être fait? Cet exemple: http://matplotlib.org/examples/pylab_examples/webapp_demo.html
en utilisant une bibliothèque différente, et non abstraite pour les données sans matériel en direct, cet échantillon me montre que SL4A peut faire graphique: http://www.smartphonedaq.com/android-python-ecg.page
maintenant, si vous parliez graphiques GUI natifs dans Android-alors je suis trop concentré sur les méthodes web de publication avec SL4A ;)
il existe une application appelée Gnuroot qui vous permet d'exécuter une sorte de chroot (proot), où vous pouvez installer une distribution linux comme debian, archlinux...
Pour l'interface graphique, il y a l'option d'exécuter un serveur vncserver pour un serveur X et d'utiliser une application client VNC android pour afficher l'écran.
j'utilise la version non-gui de gnuroot et ça marche bien. J'ai maintenant une ligne de commande debian wheezy sur android lollipop bras. Une chose mineure qui me manque, c'est l'armhf (point flottant matériel qui le processeur de mon nexus7 peut prendre en charge le support au lieu d'armel (software floating point).
Oui, il peut être fait, même sans racine. Vous avez besoin de l' termux
app, il s'agit essentiellement d'un émulateur de terminal avec un environnement Linux complet et via apt install python
, par exemple, vous pouvez installer python
.
La page web principale est ici, et il est bien sûr disponible via le marché standard. (Le termux wiki est un endroit utile.)
jamais entendu parler de qpython? http://qpython.com/ personnellement, je ne l'ai jamais utilisé, mais mon collègue était très habile avec elle. donc, vous voudrez peut-être considérer que
j'ai lu quelque part que scipy et matplotlib ne peut pas être compilé pour android, quelqu'un l'a fait pour numpy si
https://code.google.com/p/android-scripting/issues/detail?id=260
vous pouvez configurer un serveur bon marché (Raspberry Pi?) et créer une connexion ssh pour accéder à la fonctionnalité complète de python via une application VNC viewer android ou le shell
Vous pouvez essayer MathSys. C'est un enveloppant autour de Python, et il a matplotlib à l'intérieur.
malheureusement, MathSys est plutôt alambiqué, et c'est une version alpha. Apparemment, personne ne travaille sur une version bêta. Vous voudrez écrire n'importe quel code compliqué dans un fichier externe. import
fonctionne très bien en MathSys.
en cherchant numpy android
sur Google, j'ai trouvé un très joli bibliothèque. Je suppose que cela pourrait être utile.
voici le code, cela fonctionne après l'installation de Debian GNURoot comme vous l'avez dit. Juste un détail : mon graphe est exporté directement dans un .png
fichier :
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)
Pydroid est idéal pour Matplotlib sur Android, prend en charge Numpy et de nombreuses autres bibliothèques:
Pydroid pour Python 2.7
Pydroid 3 pour Python 3.6
Est-il facile? Oui! Pydroid 3 Vous pouvez installer presque n'importe quelle bibliothèque vous ont entendu parler.
utilisez le shell linux, je l'ai git Python et pip installés sur mon téléphone. J'ai utilisé gnuroot dans le magasin de jeux.. Vous pouvez apt-get install python pip à partir de là