さっとPythonで何かを試すときに、仮想マシンを用意して、以下のシェルスクリプトでJupyterを初期化することにしました。
引数でPythonのバージョンも指定できるようにしました。デフォルトは3.5.4です。
numpy, scipy, pandasはたいてい必要になるので、ついでにインストールしています。あと、グラフ描画のためにmatplotlibとseabornも入れています。
bash専用のnotebookもあると便利かと思い、bash_kernelもインストールしました。
ホームディレクトリで
$ jupyter notebook
で起動し、ファイルは'~/notebooks'に置くことを想定しています。
#!/bin/bash echo '# pyenv' >> ~/.bash_profile git clone https://github.com/pyenv/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile source ~/.bash_profile python3_version=${1:-3.5.4} pyenv global $python3_version pip install --upgrade pip pip install --upgrade setuptools pip install \ numpy \ scipy \ pandas \ matplotlib \ seaborn \ jupyter \ bash_kernel \ jupyter_contrib_nbextensions \ jupyterthemes cd; pyenv local $python3_version; mkdir -p $HOME/notebooks jupyter notebook --generate-config cat <<EOF >> $HOME/.jupyter/jupyter_notebook_config.py c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.port = 8080 c.NotebookApp.open_browser = False c.NotebookApp.notebook_dir = u'notebooks/' EOF python -m bash_kernel.install jupyter contrib nbextension install --user mkdir -p $(jupyter --data-dir)/nbextensions cd $(jupyter --data-dir)/nbextensions; \ [-e vim_binding] && rm -rf vim_binding; \ git clone https://github.com/lambdalisue/jupyter-vim-binding.git vim_binding jupyter nbextension enable autosavetime/main jupyter nbextension enable codefolding/main jupyter nbextension enable collapsible_headings/main jupyter nbextension enable equation-numbering/main jupyter nbextension enable execute_time/ExecuteTime jupyter nbextension enable gist_it/main jupyter nbextension enable livemdpreview/livemdpreview jupyter nbextension enable scratchpad/main jupyter nbextension enable select_keymap/main jupyter nbextension enable toc2/main jupyter nbextension enable vim_binding/vim_binding jupyter contrib nbextensions migrate jt -t monokai -vim -f inconsolata -N -T
それにしても、拡張機能が充実していますね。もう、ちょっとしたことなら全てJupyterで事足りそうです。