2013-08-21 14 views
25

C'è un modo per configurare python 2.7.x + matplotlib su un tablet Android in modo da poter eseguire un semplice codice Python standard? Mi piacerebbe essere in grado di eseguire gli stessi script che eseguo sul mio desktop Linux. Questo è solo per mio uso personale e non ho bisogno di distribuire il codice a nessun altro.Utilizzo di python e matplotlib su Android

Come esempio concreto, è possibile eseguire questo 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) 
+0

C'è un argomento simile: http://stackoverflow.com/questio ns/13793158/python-interpreter-on-android – badc0re

risposta

0

mai sentito parlare di qpython? http://qpython.com/ Personalmente non ho mai usato, ma il mio collega erano molto utile con esso quindi si consiglia di guardare quel

+0

Non credo che supporti matplotlib, vero? – marshall

+0

forse questo? http://qpython.org/question/62/how-to-install-3rd-part-python-modules-for-qpython/ o semplicemente controllare le FAQ –

+0

Il link è morto, [versione archiviata qui] (http : //web.archive.org/web/20131210104710/http: //qpython.org/question/62/how-to-install-3rd-part-python-modules-for-qpython/) –

5

E 'facile, no.

Si può fare? Sì. Credo che un abile sviluppatore Python/Android potrebbe fare da 2 a 8 ore di lavoro. È una richiesta rara e complessa.

Perché penso che si possa fare? Questo campione: http://matplotlib.org/examples/pylab_examples/webapp_demo.html

Utilizzando una libreria diversa, e non astratta per i dati senza l'hardware dal vivo, questo campione mi dimostra che SL4A può fare grafica web-based: http://www.smartphonedaq.com/android-python-ecg.page

Ora, se parlassi Grafica native GUI in Android - quindi mi concentro troppo sui metodi web di pubblicazione con SL4A;)

0

È possibile impostare un server economico (Raspberry Pi?) e creare una connessione SSH per accedere alla funzionalità Python completa attraverso una app android vnc viewer o la shell

1

C'è un'app chiamata Gnuroot che ti permette di eseguire una sorta di chroot (proot), dove puoi installare una distro linux come debian, archlinux ...
Per il gui, c'è la possibilità di eseguire un server vnc per un server X e utilizzare alcune app client vnc Android per mostrare lo schermo.

Io uso la versione non gui di gnuroot e funziona bene. Ora ho una riga di comando debian wheezy sul braccio lollipop di Android. Una piccola cosa che mi manca, è l'armhf (il punto di virgola hardware che il mio processore di nexus7 può fare) supportare invece di armel (software in virgola mobile).

0

Si può provare MathSys. È un wrapper attorno a Python e ha all'interno matplotlib.

Sfortunatamente, MathSys è piuttosto contorto, ed è una versione alpha. Apparentemente, nessuno sta lavorando su una versione beta. Dovrai scrivere qualsiasi codice complicato in un file esterno. import funziona bene in MathSys.

-2

Utilizzare la shell di linux, l'ho git python e pip installato sul mio telefono. Ho usato gnuroot nel play store. Da qui puoi installare apt python pip

+0

Risposta non chiara. Potresti modificarlo e almeno usare la formattazione per distinguere chiaramente tra 'comandi' e parole semplici' (e mentre lì magari pulisci un po 'la grammatica?): Http://stackoverflow.com/help/how-to-answer –

+0

Usa la shell di linux? Penso che su Linux sia già in esecuzione ma non su Android – tuxtimo

0

Durante la ricerca di numpy android su Google, ho trovato un bellissimo library. Immagino che potrebbe essere utile.

1

Sì, può essere fatto, anche senza radice.È necessaria l'app termux, fondamentalmente è un emulatore di terminale con un ambiente Linux completo e tramite apt install python, ad esempio, è possibile installare python.

La pagina Web principale è here ed è ovviamente disponibile tramite il mercato standard. (Il termux wiki è un posto utile.)

0

Ecco il codice, questo funziona dopo aver installato GNURoot Debian come hai detto. Solo un dettaglio: il mio grafico viene esportato direttamente in un file .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) 
0

Pydroid è grande per Matplotlib su Android, supporta Numpy e molte altre librerie:

Pydroid per Python 2,7

Pydroid 3 per Python 3.6