Kuroyagi飼育日誌

学んだことの備忘録

Jupyter notebook日本語文字化け

キーワード【windows10, Jupyter, conda, 仮想環境, 文字化け】

この件に関する記事は膨大にあるので、何をいまさらという感じかもしれませんが、それらの記事にはあまり載っていなかった初心者ならではの落とし穴についての備忘録です。

大本としては、Jupyter notebookでグラフなどに日本語を表示したいが、文字化けしたことがある人なら「あのことね!」となる件についてです。仮想環境でやろうとすると少しだけ注意点がありました。

最初に結論を書いておくと仮想環境がactivateされている状態で下記コードを実行し、そのディレクトリに対して通常の方法を行えば文字化けは解消されます。


import matplotlib as mpl
mpl.__path__



以下は本問題の背景と解決方法の詳細です。

具体的に問題を表すと以下の通りです。

問題: condaの仮想環境下でJupyter notebookの日本語文字化けを解消するにはどうするか。

この問題を定義出来た時点でほぼ解決の道は見えてくるのですが、初心者にとっては数多ある記事を参考にしても解決するのが難しいと感じました。

理由は、多くの記事はPythonをcondaの仮想環境で使用していない前提での問題解決方法であるからです。仮想環境でない場合は以下のフローで解決可能。

1. IPAexGothicのttfファイルを手に入れる

2. Anaconda > Lib > site-packages > matplotlib > mpl-data > fonts に ttfファイルを置く

3. Anaconda > Lib > site-packages > matplotlib > mpl-data にある matplotlibrc に"font.family : IPAexGothic"を1行追加

4. 3で訂正したファイルをC > Users > *** にある .matplotlibディレクトリ内にコピーを配置

5. 4のディレクトリ内のjsonファイル消去

これで文字化けは解消できるはず。



ここからは上記でも解決しなかった場合のパターンです。

condaの仮想環境を実行している場合だと、上記の変更は効果がありません。なぜなら、上記ではAnacondaのオリジナルmatplotlibファイル群に対する変更であって、仮想環境として用意したmatplotlibファイル群への変更ではないためです。

それでは仮想環境用のmatplotlibファイル群はどこにあるのかというと、下記コードを実行するとわかります。ちなみに、下記コードは仮想環境上で実行してください。私の場合ではコマンドプロンプトで仮想環境をactivateした上でJupyterを起動している状態で下記コードを実行しています。


import matplotlib as mpl
mpl.__path__

これで表示されているディレクトリに対して先に示したのと同様の対処を施せば問題は解決します。