web-dev-qa-db-ja.com

ImportError:「Crypto」という名前のモジュールがありません

私はpycryptoを使用しています。ローカルのWindowsマシンでは正常に動作しますが、pythonボックスに移動すると、モジュールのインポートでエラーが発生します。

from Crypto.Cipher import ARC4 
ImportError: No module named 'Crypto'

python3.3 -c "from Crypto.Cipher import ARC4"の出力

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'Crypto'

pip3リストの出力にはpycrypto(2.6.1)を含む参照があります

Python 2.7.6で動作することはわかっていますが、スクリプトは3.3で記述したため、3.3以降のいくつかの要素に依存します。

5
crobject

あなたの「Pythonボックス」はリモートコンピュータだと思います。

まず、pycryptoが最新であることを確認します(pip3 install --upgrade pycrypto)。古いバージョンはpython 3.3と互換性がない可能性があります

それでも問題が解決しない場合は、サイトパッケージ(ディレクトリ)を調べて、関数が実際に存在することを確認してください。

それでもうまくいかない場合は、必要なものをfrom future import使用する方が簡単かもしれません(単なる提案です)。そうすれば、python 2&3互換です。

3
IronManMark20

私がすでに書いたように この答え

警告:pycryptoはもう使用しないでください!

代わりに、pip3 install pycryptodomeを介してpycryptodomeを使用してください。

ただし、両方のパッケージが同じフォルダpycryptoにインストールされるため、Cryptoがインストールされていないことを確認してください。

1
winklerrr