Jupyter
Open source, interactive data science and scientific computing across over 40 programming languages.
Categories
- Xeus (C++)
- JupyterLab
- ipywidgets (Jupyter Widgets)
- JupyterHub
- Executable Book - Jupyter 생태계를 사용한 전자 출판 플랫폼
- JupyterFlow - 데이터 과학자를 위한 ML툴
- Satyrn - macOS용 현대적인 Jupyter 클라이언트
How to use
Basically the process is as follows:
Run a specific notebook:
Using custom IP or port:
No browser:
Help:
IPython
Jupyter Notebook Data Science Stack
Show Image
from IPython.display import Image
from IPython.core.display import HTML
Image(url= "http://my_site.com/my_picture.jpg")
Python exporter
import nbformat
from nbconvert import PythonExporter
exporter = PythonExporter()
(source, meta) = exporter.from_filename('something.ipynb')
with open('something_out.py','w') as outfile:
outfile.writelines(source.encode('utf-8'))
Magics
Widgets
Interact
from __future__ import print_function
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets
@interact(x=True, y=1.0)
def g(x, y):
return (x, y)
Dynamic update
%matplotlib inline
import time
import pylab as pl
from IPython import display
for i in range(10):
pl.plot(pl.randn(100))
display.clear_output(wait=True)
display.display(pl.gcf())
time.sleep(1.0)
Troubleshooting
Cannot assign requested address
Traceback (most recent call last):
File "/usr/local/bin/jupyter-notebook", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.4/dist-packages/jupyter_core/application.py", line 267, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/traitlets/config/application.py", line 657, in launch_instance
app.initialize(argv)
File "<decorator-gen-7>", line 2, in initialize
File "/usr/local/lib/python3.4/dist-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/notebook/notebookapp.py", line 1296, in initialize
self.init_webapp()
File "/usr/local/lib/python3.4/dist-packages/notebook/notebookapp.py", line 1120, in init_webapp
self.http_server.listen(port, self.ip)
File "/usr/local/lib/python3.4/dist-packages/tornado/tcpserver.py", line 142, in listen
sockets = bind_sockets(port, address=address)
File "/usr/local/lib/python3.4/dist-packages/tornado/netutil.py", line 197, in bind_sockets
sock.bind(sockaddr)
OSError: [Errno 99] Cannot assign requested address
jupyter 를 docker를 이용하여 구동할 때, Cannot assign requested address 문제가 생겼다. port 문제인 것 같은데, 아래의 명령어를 통해 해결했다.
See also
- Python
- JupyterLab
- Gitpod - 오픈소스 원격 개발 플랫폼이다.