Python/Jupyter
< Python
Magic Functions
Timing
- %timeit (time line)
- %%timeit (time block in lines below, same line = not timed setup)
importing other jupyter notebook
- run.ipynb:
% run 'lib_testprog.ipynb' testfunct()
- lib_testprog.ipynb:
def testfunct() return 1 if __name__ == '__main__' and '__file__' not in globals(): print(testfunct())
sharing variables between notebooks
- test1.ipynb:
variable = 'testdata' %store variable
- test2.ipynb:
%store -r variable print(variable)
- hints:
- use "global" in functions
Autorun notebooks on startup
simple, but no start/stop control later
- /home/user/.ipython/profile_default/startup/startup.ipy
#!/usr/bin/ipython %run /srv/python/script_a.ipynb
complex, with full control
- /home/user/.ipython/profile_default/startup/startup.ipy
#!/usr/bin/ipython %run /srv/python/startup.ipynb
- /srv/python/startup.ipynb
from selenium import webdriver from selenium.webdriver.common.by import By urls = ["http://192.168.111.11:8888/notebooks/projects/test.ipynb"] def start_notebook(url): browser = webdriver.PhantomJS(service_args=['--ssl-protocol=any']) browser.set_window_size(1280, 1400) browser.implicitly_wait(10) browser.get(url) browser.find_element(By.LINK_TEXT, 'Cell').click() browser.find_element(By.LINK_TEXT, 'Run All').click() browser.quit() for url in urls: print ("starting: " + url) start_notebook(url)
Initial Setup
Installation
apt install python3-pip python3-setuptools pip3 install --upgrade pip pip3 install jupyter
Config
- full width:
- ~/.jupyter/custom/custom.css
.container { width:100% !important; }
- autostart from rc.local
sudo -u pi /usr/local/bin/jupyter-notebook --config=/home/pi/.jupyter/jupyter_notebook_config.py
- create config file
jupyter notebook --generate-config
- insecure access without token/password (/home/pi/.jupyter/jupyter_notebook_config.py)
c.NotebookApp.ip = '*' c.NotebookApp.notebook_dir = '/srv/Python' c.NotebookApp.open_browser = False c.NotebookApp.password = '' c.NotebookApp.token = ''
nbextensions
pip3 install jupyter_contrib_nbextensions jupyter contrib nbextension install --user
- codefolding
- Codefolding in editor
- Collapsible Headings
- Table of contents
- Variable inspector
- Toggle all line numbers
Other Kernels
- scijava-jupyter-kernel
Links
- https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/
- https://github.com/jupyter/jupyter/wiki/a-gallery-of-interesting-jupyter-notebooks
- https://stackoverflow.com/questions/26126853/verifying-pep8-in-ipython-notebook-code
- https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/