Jupyter★エラーまとめ

Jupyterをさわっていると色々エラーが出てくるのでまとめます。
目次
パソコンの環境
- Windows10
- Anaconda 1.10.0
- JupyterLab 2.2.6
- JupyterNotebook 6.1.4
h5pyエラー
anacondaを色々さわった結果、kerasを読み込んだ際に次のようなエラーが出ました。
import keras
AttributeError: type object 'h5py.h5.H5PYConfig' has no attribute '__reduce_cython__'
環境
- hdf5(h5py) 1.10.4
解決策
hdf5(h5py)のバージョンを落としました。
1.10.4 → 1.8.20
但し、ここに至るまで色々ありました。
やったこと
①hdf5(h5py)のバージョン変更
最初にhdf5(h5py)のバージョンを変更しました。
1.10.4 → 1.8.20
②別のエラーが出現
hdf5(h5py)のバージョンを変更したのでJupyterLabを起動してkerasを読み込んだら別のエラーが現れました。
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
念のためJupyterNotebookでも確認しましたが、同じエラーが出現。
③hdf5(h5py)のバージョンを戻す
ネットを検索しても解決策が見つからなかったので、一旦バージョンを元に戻します。
1.8.20 → 1.10.4
JupyterLabを再起動して確認。しかし依然としてImportErrorが出ます。
④とりあえずアップデートしてみる
ダメもとでcondaで全てのアップデートを試みてみました。
conda update --all
⑤JupyterLabで確認
これでもう一度JupyterLabでimpor kerasをしてみました。すると
AttributeError: type object 'h5py.h5.H5PYConfig' has no attribute '__reduce_cython__'
おー、元のエラーに戻った。
⑥もう一度、hdf5(h5py)のバージョン変更
もう一度バージョン変更してみます。
1.10.4 → 1.8.20
⑦もう一度、JupyterLabで確認
直った!!エラーが消えました。依存関係が悪かったのかな?
cp932エラー
ファイルを読み込んだ際に次のようなエラーがたまに出ます。
file = open('data.json')
UnicodeDecodeError: 'cp932' codec can't decode byte ・・・・
原因
cp932とはsjisを意味します。utf-8に変換してあげなければいけません。
解決策
ファイルをopenする際に、utf-8へデコードしてあげます。
# encoding='utf-8'を追加
file = open('data.json', encoding='utf-8')