3

simplejson をインポートするプログラムを実行しようとしています。Python 2.7 で実行すると問題ありませんが、Python 3.3 で実行すると次のように表示されます。

ファイル "C:\Python33\lib\simplejson__init__.py"、111 行
目、デコーダーからの <module> インポート JSONDecoder、JSONDecodeError
ImportError: No module named 'decoder'

4

2 に答える 2

6

外部simplejsonライブラリを使用する必要はありません。Python 3標準ライブラリに含まれているモジュールjsonまったく同じモジュールですが、Pythonディストリビューションの一部として維持されています。simplejsonPyPIページからの引用:

simplejsonjsonは、 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
于 2012-12-23T14:02:21.990 に答える
1

正しくインストールする必要があります。つまり、easy_install simplejsonまたはを使用しpip install simplejsonます。Windowsを使用しているため、これらのコマンドラインツールはいずれもデフォルトでインストールされていません。

ただし、パッケージを適切にインストールする半自動の方法もあります。パッケージをダウンロードして一時フォルダーに解凍し、パッケージのフォルダー内のコマンドラインウィンドウを開いてpython setup.py installそこで実行します。

Pythonフォルダーに手動で抽出することは、ほとんどの場合、Pythonのインストールを台無しにする可能性のある悪い選択です(既存のファイルとの競合が発生した場合)。

于 2012-12-23T13:56:22.287 に答える