pyenvやcondaなどでぶち当たるpythonのバージョン管理についてやjupyterについての改造などについて書いていく 参考文献 ・https://qiita.com/wac2/items/9d3961e386714b67f732 ・https://qiita.com/u1and0/items/3b17b2aaac9fde219bda ・https://qiita.com/_snow_narcissus/items/80f81926707807ee9bf1 ・https://qiita.com/kamuiroeru/items/f0cf7079f4058522fa80 ・https://qiita.com/y__sama/items/17aedf0c05187edd61c3
apt-get install xvfb
xvfb-run -s "-screen 0 1400x900x24" jupyter notebook --allow-root
上記の作業をすることでJSAnimationを利用した表示などが可能になる
jupyter Notebookでプレゼンができるようになる
IBMが作成した拡張機能でjupyterからnotebookファイル内の全文検索が可能
nbextensionsを入れることで拡張機能の管理ができる
conda install -c conda-forge jupyter_contrib_nbextensions
jupyter notebook --generate-config
: これでコンフィグファイルを作成する
コンフィグファイルは ~/.jupyter
の中に作成されるpip install pyyaml
git clone https://github.com/ipython-contrib/IPython-notebook-extensions
cd IPython-notebook-extensions
sudo python setup.py install
pip install jupyterthemes
jt -t chesterish -T -f roboto -fs 9 -tf merriserif -tfs 11 -nf ptsans -nfs 11 -dfs 8 -ofs 8
: jtコマンドからいろいろ設定して適応できる 今回のこれは一つの例vimの設定もデフォルトでできるがショートカットなどgitからいれた方が色々便利なのでその方法
git clone https://github.com/lambdalisue/jupyter-vim-binding /Users/daiki_akimoto/.pyenv/versions/anaconda3-4.0.0/share/jupyter/nbextensions/vim_binding
: git をクローンする場所はanacondaのjupytergaが入っている場所のため.pyenvの後ろは自分の環境に合わせるvimbindingのgit => https://github.com/lambdalisue/jupyter-vim-binding
~/.jupyter/custom/custom.js
ファイルを作成する すでにあったら追記するかんじで// Configure CodeMirror Keymap
require([
'nbextensions/vim_binding/vim_binding', // depends your installation
], function() {
// Map jj to <Esc>
CodeMirror.Vim.map("jj", "<Esc>", "insert");
// Swap j/k and gj/gk (Note that <Plug> mappings)
CodeMirror.Vim.map("j", "<Plug>(vim-binding-gj)", "normal");
CodeMirror.Vim.map("k", "<Plug>(vim-binding-gk)", "normal");
CodeMirror.Vim.map("gj", "<Plug>(vim-binding-j)", "normal");
CodeMirror.Vim.map("gk", "<Plug>(vim-binding-k)", "normal");
});
// Configure Jupyter Keymap
require([
'nbextensions/vim_binding/vim_binding',
'base/js/namespace',
], function(vim_binding, ns) {
// Add post callback
vim_binding.on_ready_callbacks.push(function(){
var km = ns.keyboard_manager;
// Allow Ctrl-2 to change the cell mode into Markdown in Vim normal mode
km.edit_shortcuts.add_shortcut('ctrl-2', 'vim-binding:change-cell-to-markdown', true);
// Update Help
km.edit_shortcuts.events.trigger('rebuild.QuickHelp');
});
});
これでいい感じのショートカットができる
カラーテーマを適応したままだと書き込みモードなどで背景が明るく文字が見ずらい
~/.jupyter/custom/custom.css
に移動するdiv.cell.edit_mode
という部分の直前に下記の内容入れる/* Jupyter cell is in normal mode when code mirror */
.edit_mode .cell.selected .CodeMirror-focused.cm-fat-cursor {
background-color: #000000 !important;
}
/* Jupyter cell is in insert mode when code mirror */
.edit_mode .cell.selected .CodeMirror-focused:not(.cm-fat-cursor) {
background-color: #000000 !important;
}
colorのところが#000000になっているが好きな値に変更し、自分の好きな色にできる
~/.jupyter/custom/custom.css
で検索する使用目的としてはtensorのgpuとcpuの切り替えなど
conda install notebook ipykernel
ipython kernel install --user --name 仮想環境の名前 --display-name カーネルとして登録する名前
--name 仮想環境の名前
を指定しないと既存のpython3のkernelが上書きされてしまう!pyenv versions
ここにanacondaがいる
python --version
pyenv global 指定する
pyenv local 指定する
globalにすると全体に localにするとそのカレントディレクトリに指定したバージョンが反映される
pyenv global system
にするといける
aptでいれてsystemのpythonにある場合はこれにするとうまくいく