2020年11月からMacの新しいOSがリリースされました。
セキュリティ的にも、使いやすさ的にもアップデートをしたかったのですが、何よりも怖いのは、アップデート後の今まで使っていたものが使えなくなるかも、という恐れでした。
これが実際に起きました。しかも仕事でよく使うpythonにおいて。
今回は起きたことと、解決策を記しておきます。
目次
起きた現象
Mac book airを前OSであるCatalinaから、2020年の最新OSであるBig Surにしたら、今まで動いていたpythonコードが動かなくなりました。
いろいろ調べてみると下記のような簡単なコードでも動かず。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#plot_test.py import matplotlib.pyplot as plt def main(): x = [1,2,3,4,5] y = [10,20,30,40,50] fig = plt.figure() plt.plot(x, y) plt.show() return 0 if __name__=="__main__": main() |
出力されたエラーは、
Segmentation fault: 11
で、これは調べてみると、メモリーアクセスエラーらしい。よくわからん。
さらに調査してみると、問題が起きている行は
plt.show()
らしい。
解決策
実は解決策はかなり簡単で、matplotlibを一旦アンインストールしてから、もう一回インストールすれば良いみたいです。
私の場合には、pip3を使っているので、下記のようなコマンドで解決できました。
アンインストール: sudo pip3 uninstall matplotlib
インストール: sudo pip3 install matplotlib
Anacondaなどを使っている場合にも、同様に一回matplotlibだけ再インストールすれば良いはずです!
コメント