Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Changing the default port for iPython notebook server / Jupyter

I am trying to run an ipython notebook / jupyter server on a machine behind a firewall. The only port which is open is port 80. So was wondering how I can change the default port from 8890 to 80?

I have ran the following command ipython profile create to create a profile.

Then edited ipython_notebook_config.py and edited it to contain the following:

c = get_config() c.NotebookApp.port = 80 

When I try to run python notebook. I get the following error:

ERROR: the notebook server could not be started because no available port could be found.


Hoever, nothing else seems to be using port 80. Apache does not boot at startup and is disabled. I have even used netstat to see what is using each port.

$ sudo netstat -lnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address           Foreign Address                 State       PID/Program name tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1226/vsftpd      tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1532/sshd        tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      3433/cupsd       tcp        0      0 127.0.0.1:5984          0.0.0.0:*               LISTEN      1410/beam.smp    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1653/mysqld      tcp6       0      0 :::22                   :::*                    LISTEN      1532/sshd        tcp6       0      0 ::1:631                 :::*                    LISTEN      3433/cupsd       udp        0      0 0.0.0.0:52741           0.0.0.0:*                           796/avahi-daemon: r udp        0      0 0.0.0.0:5353            0.0.0.0:*                           796/avahi-daemon: r udp        0      0 0.0.0.0:31114           0.0.0.0:*                           1105/dhclient    udp        0      0 0.0.0.0:68              0.0.0.0:*                           1105/dhclient    udp        0      0 xxx.xxx.xxx.xxx:123        0.0.0.0:*                           2607/ntpd        udp        0      0 127.0.0.1:123           0.0.0.0:*                           2607/ntpd        udp        0      0 0.0.0.0:123             0.0.0.0:*                           2607/ntpd        udp        0      0 0.0.0.0:631             0.0.0.0:*                           1630/cups-browsed udp6       0      0 :::5353                 :::*                                796/avahi-daemon: r udp6       0      0 :::69                   :::*                                1607/in.tftpd    udp6       0      0 :::24682                :::*                                1105/dhclient    udp6       0      0 xxxx::xxxx:xxxx:xxxx:123 :::*                                2607/ntpd        udp6       0      0 ::1:123                 :::*                                2607/ntpd        udp6       0      0 :::123                  :::*                                2607/ntpd        udp6       0      0 :::59559                :::*                                796/avahi-daemon: r Active UNIX domain sockets (only servers) Proto RefCnt Flags       Type       State         I-Node   PID/Program name    Path unix  2      [ ACC ]     STREAM     LISTENING     20483    3253/pulseaudio     /run/user/1003/pulse/native unix  2      [ ACC ]     STREAM     LISTENING     18697    3179/gnome-session  @/tmp/.ICE-unix/3179 unix  2      [ ACC ]     STREAM     LISTENING     15765    2507/X              /tmp/.X11-unix/X0 unix  2      [ ACC ]     STREAM     LISTENING     20481    3253/pulseaudio     /tmp/.esd-1003/socket unix  2      [ ACC ]     STREAM     LISTENING     18698    3179/gnome-session  /tmp/.ICE-unix/3179 unix  2      [ ACC ]     STREAM     LISTENING     15764    2507/X              @/tmp/.X11-unix/X0 unix  2      [ ACC ]     STREAM     LISTENING     10538    768/bluetoothd      /var/run/sdp unix  2      [ ACC ]     STREAM     LISTENING     21564    3433/cupsd          /var/run/cups/cups.sock unix  2      [ ACC ]     STREAM     LISTENING     10820    1653/mysqld         /var/run/mysqld/mysqld.sock unix  2      [ ACC ]     STREAM     LISTENING     16666    3184/dbus-daemon    @/tmp/dbus-1gowauBlhV unix  2      [ ACC ]     STREAM     LISTENING     14432    748/dbus-daemon     /var/run/dbus/system_bus_socket unix  2      [ ACC ]     STREAM     LISTENING     8877     1/init              @/com/ubuntu/upstart unix  2      [ ACC ]     STREAM     LISTENING     16698    3136/ibus-daemon    @/tmp/dbus-ue1VKkXx unix  2      [ ACC ]     STREAM     LISTENING     12135    3005/gnome-keyring- /run/user/1003/keyring-htUkSg/control unix  2      [ ACC ]     STREAM     LISTENING     14469    796/avahi-daemon: r /var/run/avahi-daemon/socket unix  2      [ ACC ]     STREAM     LISTENING     10034    3102/dbus-daemon    @/tmp/dbus-SCYaEa0Hje unix  2      [ ACC ]     STREAM     LISTENING     18577    3005/gnome-keyring- /run/user/1003/keyring-htUkSg/pkcs11 unix  2      [ ACC ]     STREAM     LISTENING     18581    3005/gnome-keyring- /run/user/1003/keyring-htUkSg/gpg unix  2      [ ACC ]     STREAM     LISTENING     18583    3005/gnome-keyring- /run/user/1003/keyring-htUkSg/ssh unix  2      [ ACC ]     STREAM     LISTENING     18569    3007/init           @/com/ubuntu/upstart-session/1003/3007 unix  2      [ ACC ]     SEQPACKET  LISTENING     11473    396/systemd-udevd   /run/udev/control unix  2      [ ACC ]     STREAM     LISTENING     10725    1572/acpid          /var/run/acpid.socket 
like image 347
jonhurlock Avatar asked Jul 07 '15 13:07

jonhurlock


People also ask

How do I change the port on a Jupyter Notebook?

Step 1: Run Jupyter Notebook from remote machine Once the console shows, type the following: remoteuser@remotehost: jupyter notebook --no-browser --port=XXXX # Note: Change XXXX to the port of your choice. Usually, the default is 8888. # You can try 8889 or 8890 as well.

What is the default port for Jupyter Notebook?

99.9% of the time Jupyter will run on port 8888. Optionally change port 8000 to one of your choosing (for example, if 8000 is used by another process).


Video Answer


2 Answers

jupyter notebook --ip=0.0.0.0 --port=80 or ipython notebook --ip=0.0.0.0 --port=80 

is what i did to run ipython in my vagrant box. (Opened up the ports on the vagrant box to access it on my host mac)

usage: ipython [-h] [--certfile NOTEBOOKAPP.CERTFILE] [--ip NOTEBOOKAPP.IP]                [--pylab [NOTEBOOKAPP.PYLAB]]                [--log-level NOTEBOOKAPP.LOG_LEVEL]                [--port-retries NOTEBOOKAPP.PORT_RETRIES]                [--notebook-dir NOTEBOOKAPP.NOTEBOOK_DIR]                [--config NOTEBOOKAPP.CONFIG_FILE]                [--keyfile NOTEBOOKAPP.KEYFILE] [--port NOTEBOOKAPP.PORT]                [--transport KERNELMANAGER.TRANSPORT]                [--browser NOTEBOOKAPP.BROWSER] [--script] [-y] [--no-browser]                [--debug] [--no-mathjax] [--no-script] [--generate-config] 

Incase the port is already occupied, see what's blocking it - inmy case it was an old instance of ipython which had not been terminated properly. I kiiled them all with this command

ps auxww | grep 'ipython' | awk '{print $2}' | xargs sudo kill -9 
like image 77
Shankar ARUL Avatar answered Oct 04 '22 10:10

Shankar ARUL


To change port temporarily, indicate a different port number when we start jupyter notebook server from a terminal by firing following command.

jupyter notebook --port 9999 

Read more https://jupyter.readthedocs.io/en/latest/running.html

like image 21
Mukesh Kumar Mehta Avatar answered Oct 04 '22 12:10

Mukesh Kumar Mehta