Jupyter★エラーまとめ

2021年2月19日

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')

Jupyter

Posted by Bright_Noah