Bluepostech

プログラムとかはこっち

【python】matplotlibがdvipngを見つけられない

最近理論の話が続いたのでプログラムの話に戻ろう。

先日matplotlibを使ったpythonコードを移植しようとしたところ、以下のようなエラーを吐いて動かない、ということがあった。

Could not obtain dvipng version

直訳すると「dvipngのバージョンを特定できない」というような意味だが、実はそうではないらしい。

そもそもdvipngとはtexで出力に使われるdviをじかにpngに変換するソフトで、一度このブログでも取り上げている。texliveに含まれているソフトで、texliveをインストールすれば一緒に入ってくる。
移植先の環境にはtexliveがすでに入っていると思っていたのだが、まずwhichでdvipngを調べても入っておらず、platexを調べても入っていないことがわかった。

そこで「dvipngだけ入ればいいや」とdvipngだけインストールしようとしたら、今度はlibkpathseaだったかがないというエラーが出た。仕方なしにtexliveをまるごと入れると、無事matplotlibまで動くようになった。

ごく簡単なことだが、エラーメッセージで検索をかけると英語のページしか出てこなかったので。