2020年11月からMacの新しいOSがリリースされました。
セキュリティ的にも、使いやすさ的にもアップデートをしたかったのですが、何よりも怖いのは、アップデート後の今まで使っていたものが使えなくなるかも、という恐れでした。
これが実際に起きました。しかも仕事でよく使うpythonにおいて。
今回は起きたことと、解決策を記しておきます。
目次
起きた現象
Mac book airを前OSであるCatalinaから、2020年の最新OSであるBig Surにしたら、今まで動いていたpythonコードが動かなくなりました。
いろいろ調べてみると下記のような簡単なコードでも動かず。
#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だけ再インストールすれば良いはずです!
コメント