0

実行中python version 2.4.3。私はpython-amazon-product-apiを使用しています。ただしapi.py、次のコード行で問題が発生しています。

if sys.version_info[:2] > (2, 4): # pragma: no cover
    from urllib2 import quote
    from hashlib import sha256 # pylint: disable-msg=E0611
else:
    from urllib import quote
    from Crypto.Hash import SHA256 as sha256

私のバージョンは 2.4.3 であるため、に移動しelseてインポートしようとしCryptoます。だから私はそれをダウンロードしましたが、 SHA256.py でインポートエラーが発生しましcannot import _SHA256た。ライブラリに _SHA256.py がありません。すべての失敗した努力の後、pyCrypto の使用をやめ、スタンドアロンの hashlib ライブラリを使用しようとしました。だから私elseはの部分を変更しましたapi.py:

else:
    from hashlib import hashlib
    sha256 = hashlib.sha256()

次に、hashlib のインポート中に、このインポート エラーが発生しました。

File "C:\Python24\lib\site-packages\hashlib.py", line 63, in __get_builtin_constructor
    import _md5
ImportError: DLL load failed: The specified module could not be found.

昨日同様の質問を投稿しましたが、正確な解決策を見つけることができなかったため、再度投稿しています。私は必死に解決策が必要です:(

4

1 に答える 1

0

あなたが上で言ったことに基づいていくつかの質問。

1) なぜ古いバージョンの Python を使用しているのですか? Python 2.7 をインストールして、もっと幸せになりましょう!

2) 残念ながら、未知の理由で 2.4 に固執していると仮定します... インストールした hashlib パッケージに付属のバイナリ拡張モジュール (.pyd) ファイルを Python が見つけられないようです。独自の hashlib をコンパイルしたか、バイナリ バージョンをインストールしましたか? その場合は、_hashlib.pyd ファイルが PYTHONPATH または sys.path のどこかに配置されていることを確認してください。

http://code.krypto.org/python/hashlibにビルドしてテストする能力がないため、hashlib 用のプリコンパイル済みバイナリを含む Windows インストーラーを何年も使用していません...そして Python 2.4 は非常に古いため、システムにバイナリをインストールできる人なら誰でも、最新バージョンの Python 自体をインストールできると思います。

于 2012-02-21T16:33:31.880 に答える