web-dev-qa-db-ja.com

ImportError:Crypto.Cipherという名前のモジュールはありません

App.py(Python 3.3、PyCrypto 2.6)を実行しようとすると、virtualenvが上記のエラーを返し続けます。私のimport文はちょうどfrom Crypto.Cipher import AESです。私は重複を探しました、そして、あなたはいくつかがあると言うかもしれません、しかし私は解決策を試みました(ほとんどが解決策でさえないけれども)そして何もうまくいきませんでした。

PyCryptoのファイルは次のようになっています。

100
Graham Smith

私は同じ問題を抱えていた(ただしLinux上)。解決策は非常に簡単でした - 追加:

libraries:
- name: pycrypto
  version: "2.6"

私のapp.yamlファイルに。これは過去に正しく機能していたので、私はこれが新しい要件であると思います。

54
Patrick Jordan

pipを使ってインストールするとき、私は私のMacでも同じ問題を抱えていました。私はそれからpycryptoを削除し、easy_installを使用して再度インストールしました。

pip uninstall pycrypto
easy_install pycrypto

lukeさんがコメントしたとおり、これらのコマンドを実行するのに問題がある場合は、必ずadminとして実行してください。(Sudo)

お役に立てれば!

172
elad silver

私もMacでこれに遭遇しました、そしてそれは残念ながら同じように名前が付けられた "crypto"モジュール(それが何のためのものかわからない)をpipを通してpycryptoと一緒にインストールさせることに関連しているようです。

修正は、pipを使用してcryptoとpycryptoの両方を削除するようです。

Sudo pip uninstall crypto
Sudo pip uninstall pycrypto

そしてpycryptoを再インストールする:

Sudo pip install pycrypto

これで、次のようにしても期待通りに動作します。

from Crypto.Cipher import AES
90
user42935

Macでは...これに遭遇した場合..代わりに暗号をインポートできるかどうか確認してみてください。

もしそうなら..パッケージ名はC vs cです。これを回避するには、次の行をスクリプトの先頭に追加してください。

import crypto
import sys
sys.modules['Crypto'] = crypto

あなたは正常にparamikoをインポートすることができるはずです。

29
pho

タイプコマンド:

Sudo pip install pycrypto
17
ruxming

解決策が見つかりました。問題はおそらく大文字と小文字が区別されます(Windowsの場合)。

フォルダの名前を変更するだけです。

  • C:\Python27\Lib\site-packages\crypto
  • C:\Python27\Lib\site-packages\Crypto

これはpycryptoのインストール後にフォルダがどのように命名されたかです:enter image description here

それをに変更しました:enter image description here

そして今、次のコードはうまくいきます:enter image description here

15
damian1baran

cryptopycryptoをアンインストールするとうまくいきます。それからpycryptoだけをインストールしてください。

pip uninstall crypto 
pip uninstall pycrypto 
pip install pycrypto
13
tthreetorch

OSX 10.8.5(Mountain Lion)のGAE BoilerplateでGoogleAppEngineLauncher(バージョン> 1.8.X)を使用しているため、私は同じ問題'ImportError: No module named Crypto.Cipher'を持っていました。 Python 2.7ランタイムを搭載したGoogle App Engine SDKでは、pyCrypto 2.6が推奨バージョンです。私のために働いた解決策は….

1)pycrypto2.6のソースをダウンロードしてどこかに展開してください(~/Downloads/pycrypto26

例:git clone https://github.com/dlitz/pycrypto.git

2)cdcd ~/Downloads/pycrypto26

3)pyCrypto 2.6をGAEフォルダに手動でインストールするために、前のフォルダ内で以下の端末コマンドを実行してください。

Sudo python setup.py install --install-lib /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
8
Lazaros Dinakis

redHatを使っているなら、Fedora、centos:

Sudo yum install pycrypto

私の場合は、pipを使ってインストールすることはできません。

8
hamed

pip3で試してください。

Sudo pip3 install pycrypto
3
Arthur Araújo

それはpipでインストールされたpythonモジュールをロードすることの問題かもしれません。この回答を参照してください site-packagesディレクトリ からpipでインストールしたPythonモジュールをロードできず、次のようにしてみてください。

python -m pip install pycrypto
2
user666N

CentOS 7.4では、最初にpipをインストールし、次にpipを使用してpycryptoをインストールしました。

> Sudo yum -y install python-pip 
> Sudo python -m pip install pycrypto
2
stuhpa

この問題を解決するには、最初の大文字を大文字に変更します。 「Crypto.CipherからAESをインポートする」から「」「crypto.CipherからAESをインポートする」「」ではないことを確認します。

1
Zesheng LI

私のために働きました(Ubuntu 17.10)

Venvを削除してpython v3.6で再び作成する

pip3 install PyJWT
Sudo apt-get install build-essential libgmp3-dev python3-dev
pip3 install cryptography
pip3 install pycryptodome
pip3 install pycryptodomex

Pycryptoは廃止予定で、問題があり、Pycryptodomeを使用

1
applekate

これまで、私はpycryptoを数回インストール/再インストールしたことがあっても、from Crypto.Cipher import AESのインポート時に同じ問題を抱えています。それは、pipがデフォルトでpython3になったためです。

~ pip --version pip 18.0 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

pip2と一緒にpycrypoをインストールすると、この問題は解決するはずです。

1
Ryan

この問題は、C++コンパイラ(python27またはpython26)をインストールすることで解決できます。 Microsoftからダウンロードして https://www.Microsoft.com/ja-jp/download/details.aspx?id=44266 を再実行してください。 command:pip install pycryptoのプロセスを終了したときにgui Webアクセスを実行するためのeasy_install.exe

1
user8094201

Windows 7の場合:

私はこのエラー「モジュールエラーCrypo.CipherインポートAES」を通過しました

WindowsにPycryptoをインストールするには、

コマンドプロンプトでこれを試してください。

Path = C:\ Python27\Scriptsに設定します(つまり、easy_installがある場所のパス)。

その後、以下を実行してください。

easy_install pycrypto

Ubuntuの場合:

これを試して、

Pycryptoを " https://pypi.python.org/pypi/pycrypto "からダウンロードしてください。

それから端末を使って現在のパスをダウンロードしたパスに変更します。

例:root @ xyz-virtual-machine:〜/ pycrypto-2.6.1#

その後、端末を使用して以下を実行します。

python setup.pyインストール

それは私のために働いた。希望はすべてのために働く..

1
JayaPrakash

もしあなたがmacosであれば、libフォルダの名前をlib/python3.7/site-packages/cryptoからlib/python3.7/site-packages/Cryptoに変更してください。

0
Jack

私は3.7です。暗号をインストールしようとしても問題は残ります。そして、私の場合、pycryptoは失敗します。最終的に私のビルドは以下のパッケージを介して渡されました:pip install pycryptodome

0
Quansheng Li

多分あなたはこれをするべきです:pycryptodome == 3.6.1それをRequirements.txtに追加してインストールしてください。これによりエラー報告は削除されるはずです。わたしにはできる!

0
imissyou