How do I install Jupyter notebook on an Android device?
Download the app pydroid3. Open the app. On the top there is a 3-line button - click on it. There is a PIP option - click on it. In PIP, click on install and type jupyter
. Once it gets downloaded, there is terminal option above pip, click on terminal and type jupyter notebook
. Your work is done.
Edit
I got a video explaining the download of jupyter using pydroid3.
I have tried the above instructions and everything works down to the tee except when the following command is run:
$ LDFLAGS="-lm -lcompiler_rt" pip install numpy matplotlib
This ends in an error that says that matplotlib could not be installed and the output advises you to install some dependencies.
My own output looks something like this:
Screenshot of Error
I googled and found that just installing a simple package through following command fixed it:
pkg install zlib-dev
after running this command run the following command again and both packages will be installed though it took a lot of time to complete:
$ LDFLAGS="-lm -lcompiler_rt" pip install numpy matplotlib
-cheers
I found some information on the web (like in this blog post) while I was coming up with the answer for this question, but it was all at least somewhat wrong and/or out of date. Here's a complete set of working instructions:
- Install the Termux app.
Open Termux, then enter/run the following commands in the prompt:
$ apt install clang python fftw libzmq freetype libpng pkg-config libcrypt $ LDFLAGS="-lm -lcompiler_rt" pip install jupyter
Optionally, you can install some other useful packages that mesh well with Jupyter:
$ LDFLAGS="-lm -lcompiler_rt" pip install numpy matplotlib
Finally, test the notebook out by running:
$ jupyter notebook
When you run jupyter notebook
, a notebook server starts up and dumps some information to stdout. When you see the line:
Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
copy the following URL, paste it into the browser on your device, and then hit go. You should end up with something that looks like this:
I tested these instructions out a Nexus 7 2013 (wifi) running stock Android 6.0.1 (Marshmallow).
Update: <foo>-dev
packages dropped in Termux
As @OmPS pointed out in the comments, Termux dropped all of it's <foo>-dev
packages. I've updated step 2. above to match, but I haven't tested it out since I no longer have access to my android device. If someone could please test the current version of the instructions above and then post their experience in the comments, that would be very helpful.