FORUMS

Ipython/Jupyter Notebook on Android

36 posts
Thanks Meter: 7
 
By izzox, Member on 22nd February 2015, 06:08 AM
Post Reply Email Thread
Hello All

I was able to successefuly install Ipython(jupyter) on my nexus(2013) and wanted to share the procedure with all that could be interested.

You could learn and read about Ipython[Jupyter] here


CAUTION:
> To the best of my knowledge this is the first tutorial of it's kind.
> I strongly recomend that you try this on a fresh rom. Use MultiROM for instance
> This was tried on Nexus 7(2013) with android 4.4.4. But I see no reason why it shouldn't work on lolipop 5.0 or on another android tablet. [You could try at your own risk and report your findings]
> Allow minimum 4Gb free space. I used rougthly 2.2 Gb, but i installed more than just ipython
> Hackers Keyboard is VERY HANDY if not NECESSARY
> I apologize for typos and gramar mistakes in advance
> Some of the following steps take time (a long time). Just make sure your tablet is connected to the charge and chose to keep the screan ON while it's on charge
> I am UNLOCKED and ROOTED. I can't tell whether it is required. If it is it would have to be with the prerequired apps. YOU WANNA VERIFY THAT before anything
> MOST IMPORTANTLY, DO THIS AT YOUR OWN RISK. I'm NOT RESPONSIBLE for any INCONVENIANCE whatsoever.

Procedure:
1-: Install GNURoot WheezyX . I am more confortable with debian, tryFedora or Gentoo ... If you know what you are doing.
2- Install GNURoot
3- Open GNURoot
4- Chose wheezyx (or fedora or gentoo ... depending on the distro you like) in the "Select Rootfs to Create " drop-down menu.
5- Click on 'Create New Rootfs' button
6- Chose wheezyx(or fedora or gentoo ... depending on the distro you chose) in the "Select Rootfs to Launch " drop-down menu
7- Check 'Lauch as Facke Root' box. This will give us root privilege
8- Click on 'Lauch Rootfs' button

At this point you shoud have 'Terminal Emulator" open up a window with '[email protected]:/# ' and a prompt ready to take instrucktions
Welcome to linux !!!


Now we need to install "python" and "pip", but before that we need to install 'build-essentials' which will make 'gcc' and all tools required to build a package available on our linux platform:
In the following: if you chose wheezy distro it's the same procedure; if you chose fedora distro replace apt-get with yum; if you chose gentoo you are on your own because I'm not familiar with it
Anyways I assume no responsability anyhow whatsoever.

9 - At the prompt type 'apt-get update' and press Enter
10 - Type 'apt-get upgrade' and press Enter'
11 - Type 'apt-get install build-essential' and press Enter' : This will install "build essential"
12- - Type 'apt-get install python' and press Enter' : This will install "python". I got the version 2.7.3 . You could find the version you installed by typing "python -V" and pressing Enter
13 - Type 'apt-get install python-pip' and press Enter' : This will install "pip", the python package manger

At this point we have python setup in the linux environement. Let's finally install ipython:
14-a Type 'pip install ipython' and press Enter if all you want is the ipython interpreter
15-a Type 'pip install ipython --upgrade' and press Enter to make sure you got the latest version
or
14-b Type 'pip install ipython[all] ' and press Enter if you want ipython and all the goodies like notebook
15-b Type 'pip install ipython [all]--upgrade' and press Enter to make sure you got the latest version

I do scientific work with ipython, so if you are on the same boat as me you could install scientific packages numpy,sympy,pandas,nose,.... with:
"apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose" !!! This is a lot about 1.2Gb !!!

At this point everything is set up. "when the wine is drawn, we now just have to drink it"

16-a Type ' ipython ' and press Enter to run ipython interpreter
or
16-b Type ' ipython notebook' and press Enter to run ipython notwbook. If you get an error message say that ''no web browser could be found" ignore it. look for the server address (looks like http://localhost:8888)
17-b Enter that adress (http://localhost:8888 in my case) in Chrome (I had no problem with chrom so far, but you could try on your favorite web browser) press Enter. Et voila you should be in the ipython notebook tree

I have been here for a couple of years, and never got to share anything.
This is my first thread, and i hope it is the beging of a very long series of contributions
> I will upload screenshots later to better guide noobs (I was one onece)
> PM me if you like to donate. I would appreciate it
> Please support the GNURoot developpers, or ipython[Jupyter] developpers if you can. They are all doing a terrific work. (I'm in no way associated to them, but love and support their work)
> I'm not very good at making videos, but I welcome any initiative.

You now Know how to install ipython, I trus you could be very creative since you now got linux at your finger tip
The Following 4 Users Say Thank You to izzox For This Useful Post: [ View ] Gift izzox Ad-Free
18th October 2015, 05:07 PM |#2  
Junior Member
Thanks Meter: 0
 
More
Help to use pandas + matplotlib: no $DISPLAY environment variable
First of all thank you for this pretty cool tutorial
i did it and everything else works after all that huge pip installation!
my problem is that i need to see the result of my codes which sometimes is to show me plots of my data using the library matplotlib.pyplot
when i do that i get the following error:
TclError: no display name and no $DISPLAY environment variable
i found someone with the same problem in another situation (not on android but something like trying to save the plots in a pdf) and the problem was solved doing the import like this:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show()

By using matplotlib.use('Agg'), python knows to use the non-interactive back-end Agg instead of trying to display to the screen
this means that i don't have anymore the error but the plot won't be shown either
this happens not only when i do python file.py from command line but also when i run the same codes on jupyter notebook
so is there a way to execute file.py so they do what ever pandas want to do in this android environment (especially pop up windows with my plots when I execute the files)?
if there is no way how do i get rid of android to install some better OS on my tablet that can do all this kind of stuff?
thank you but all of this that you have done it's really not that useful if i cant see my plots
let me know!
21st October 2015, 03:28 AM |#3  
OP Member
Flag Bethesda
Thanks Meter: 7
 
More
Quote:
Originally Posted by paolotamag

First of all thank you for this pretty cool tutorial
i did it and everything else works after all that huge pip installation!
my problem is that i need to see the result of my codes which sometimes is to show me plots of my data using the library matplotlib.pyplot
when i do that i get the following error:
TclError: no display name and no $DISPLAY environment variable
i found someone with the same problem in another situation (not on android but something like trying to save the plots in a pdf) and the problem was solved doing the import like this:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show()

By using matplotlib.use('Agg'), python knows to use the non-interactive back-end Agg instead of trying to display to the screen
this means that i don't have anymore the error but the plot won't be shown either
this happens not only when i do python file.py from command line but also when i run the same codes on jupyter notebook
so is there a way to execute file.py so they do what ever pandas want to do in this android environment (especially pop up windows with my plots when I execute the files)?
if there is no way how do i get rid of android to install some better OS on my tablet that can do all this kind of stuff?
thank you but all of this that you have done it's really not that useful if i cant see my plots
let me know!

You should know that the linux running GNURoot doesn't have an X-session. You kinda need x11 installed on it to be able to have windows popping up and showing your plots. I remember trying apt-get install x11 without success on "Wheesy". Now, I know there is the "wheesy X" distro of GNURoot, but I don't know whether the X stands for X-session capability; I suggest you try that. (I no longer have my nexus7 to try, but it would be nice to see what happens).
I was able to go around this problem by working on the notebook. I could see my plots fine. I remember firefox beeing the best browser to work on the notebook.
21st October 2015, 12:10 PM |#4  
Junior Member
Thanks Meter: 0
 
More
Plots at least on jupyter and transfer files
hey so i found this : (i dont have authorization to post links normally)
stackoverflow .com / questions / 18353203 / using-python-and-matplotlib-on-android
where someone is stating is a big deal to have plotlib working on android
jupyter notebook is not displaying plots not even on firefox, it always give the "TclError: no display name and no $DISPLAY environment variable". It would be awesome if you'd give me a straight solution so i can see plots on jupyter! that would be more than enough to follow lessons in class
the temporary solution i found for now is to remote control my pc at home from the tablet to do all the coding but i cannot work without connection this way
i also found out about this website Wakari but they are saying now there isn't anymore free space for new subscription..
the best solution would be to have plots displaying on jupyter with your help
so the plan for now is to stick to let the pc at home do all the work and remote control it with the samsung remote pc app or to find a good website to log in from the tablet and write codes on browser
ill still use this command line of yours when ever i can thou, when ever there is nothing to display i guess.. but how do I find the folders so i can move to the desktop computer the .py files or the notebook files i create? i was expecting to find the files when i was connecting the tablet with usb wire.. is there anyway to transfer those files?
thank you

Quote:
Originally Posted by izzox

You should know that the linux running GNURoot doesn't have an X-session. You kinda need x11 installed on it to be able to have windows popping up and showing your plots. I remember trying apt-get install x11 without success on "Wheesy". Now, I know there is the "wheesy X" distro of GNURoot, but I don't know whether the X stands for X-session capability; I suggest you try that. (I no longer have my nexus7 to try, but it would be nice to see what happens).
I was able to go around this problem by working on the notebook. I could see my plots fine. I remember firefox beeing the best browser to work on the notebook.

24th January 2016, 09:13 PM |#5  
OP Member
Flag Bethesda
Thanks Meter: 7
 
More
Use:
%matplotlibe inline
Instead of:
matplotlib.use('Agg')
Attached Thumbnails
Click image for larger version

Name:	ipython_on Android.png
Views:	682
Size:	94.4 KB
ID:	3620991  
Post Reply Subscribe to Thread

Tags
ipython, jupiter, linux on android, python

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes