simplejson をインポートするプログラムを実行しようとしています。Python 2.7 で実行すると問題ありませんが、Python 3.3 で実行すると次のように表示されます。
ファイル "C:\Python33\lib\simplejson__init__.py"、111 行
目、デコーダーからの <module> インポート JSONDecoder、JSONDecodeError
ImportError: No module named 'decoder'
simplejson をインポートするプログラムを実行しようとしています。Python 2.7 で実行すると問題ありませんが、Python 3.3 で実行すると次のように表示されます。
ファイル "C:\Python33\lib\simplejson__init__.py"、111 行
目、デコーダーからの <module> インポート JSONDecoder、JSONDecodeError
ImportError: No module named 'decoder'
外部simplejson
ライブラリを使用する必要はありません。Python 3標準ライブラリに含まれているモジュールjson
はまったく同じモジュールですが、Pythonディストリビューションの一部として維持されています。simplejson
PyPIページからの引用:
simplejson
json
は、 Python2.6およびPython3.0に含まれているライブラリの外部で保守されている開発バージョンですが、 Python2.5との下位互換性を維持しています。
simplejson
次のコードを使用して、存在しない場合に切り替えますjson
(Python 2.5の場合のみ、ライブラリは2.6以降に含まれています)。
try:
import json
except ImportError:
# python 2.5
import simplejson as json
正しくインストールする必要があります。つまり、easy_install simplejson
またはを使用しpip install simplejson
ます。Windowsを使用しているため、これらのコマンドラインツールはいずれもデフォルトでインストールされていません。
ただし、パッケージを適切にインストールする半自動の方法もあります。パッケージをダウンロードして一時フォルダーに解凍し、パッケージのフォルダー内のコマンドラインウィンドウを開いてpython setup.py install
そこで実行します。
Pythonフォルダーに手動で抽出することは、ほとんどの場合、Pythonのインストールを台無しにする可能性のある悪い選択です(既存のファイルとの競合が発生した場合)。