1.15.2022

matplotlibrcの編集について

Python3.10にアップデートしたついでにAnaconda3にさようならを告げた。Cドライブの容量が3GBくらい増えたので嬉しい。仮想環境とか使っていなかった上に別にPython3.6とか入れてモジュールのアップデートとかぐちゃぐちゃしてたので非常にすっきりした。

matplotlibもインストールし直したので、matplotlibrcも再編集しないと元の表示に戻らない。

図中の文字がボールドになって直せない問題について悩んだことがあったので、再編集で元に戻るか心配だったが、ボールド問題もなく簡単に元に戻せた。

まずmatplotlibの書式設定のファイルの場所は、

import matplotlib
matplotlib.matplotlib_fname()

で確認可能。デフォルトのパスは元のPythonがあるパスからの相対値で

site-packages/matplotlib/mpl-data/matplotlibrc

にあるはず。このファイルを編集すると書式が色々変更できるが、このファイルを開いてみると最初に

## You should find a copy of it on your system at
## site-packages/matplotlib/mpl-data/matplotlibrc (relative to your Python
## installation location).  DO NOT EDIT IT!

と書いてある。以下の場所にコピーして編集しなさいということらしい。

##     Unix/Linux:
##         $HOME/.config/matplotlib/matplotlibrc OR
##         $XDG_CONFIG_HOME/matplotlib/matplotlibrc (if $XDG_CONFIG_HOME is set)
##     Other platforms:
##         $HOME/.matplotlib/matplotlibrc

matplotlib.matplotlib_fname()のコマンドではデフォルトのパスの前に上の移動先のパスを見に行くみたいなので、コピーしたらそっちが優先される。

たぶんだけど、デフォルトの場所にあるmatplotlibrcは全部基本##で2個コメントアウトがあって、ここを直接変更するときには#が1個でも有効になるのではと思う。実際上のコメントを読まずにデフォルトファイルを直接編集していたら”Duplicate key in file WindowsPath ...”と警告が出た。どうやら一つの項目を重複して記述していたみたい。でもコピーしたファイルで全く同じ編集をすると警告は出なかった。

あとはお好みに。コメントアウトの文章はよく読むべきですね。

1.14.2022

Jupyter notebookにvimキーバインディングを導入する方法 (Windows)

Jupyter notebookは便利です。でもvim key bindingが実現するともっと便利です。

昨今はVS Codeの拡張機能でそれを実現してしまえという話もあると思いますが、Jupyter notebookのnbextensionsでvimキーバインディングができるようになっておくことも有益でしょう。

そのありがたいextensionの大元はこちらです。インストールのガイダンスは載っていますが、Linuxを想定した書き方なので、初心者かつWindowsユーザーの自分にはつらいです。

そのためPCが変わったときなど未来の自分のためにメモを残します。

  1. まずnbextensionsをpipでインストールする。詳細はぐぐってください。
    pip install jupyter_contrib_nbextensions
  2. LinuxでいうところのhomeのWindows版は”C:\Users\***”です。この下に.jupyterというフォルダができているはずです。その下にnbextensionsというフォルダを作ります。
    (2022/8/12)
    これは間違いでした。というよりjupyterが参照するフォルダを"jupyter_data_dir()"で確認したらたぶんデフォルトはここじゃなくて、
    \user\AppData\Roaming\jupyter\
    なので、ここにnbextensionsフォルダが入っているはず。以下このフォルダについて述べていると思ってください。
  3. 上記と同じリンクからZipファイルで丸ごとダウンロードしてきます(右上の”Code"ボタンから可能)。
  4. (2022/8/12)
    コマンドラインで
    jupyter contrib nbextension install --user
    としてnbextensionをインストールする必要があると記事で読んだのでこれを実行。本当に必要があるかどうかは不明。nbextensionsにたくさん項目が増えたけど、vimだけでいい場合はこれいらないのでは?

    zipファイルを解凍してnbextensionsフォルダに置けば完了(フォルダ名はたぶん任意)。

これで、Jupyter notebookを立ち上げたときのnbextensionsタブからVIM bindingが選択できるようになるはずです。