App.py(Python 3.3、PyCrypto 2.6)を実行しようとすると、virtualenvが上記のエラーを返し続けます。私のimport文はちょうどfrom Crypto.Cipher import AES
です。私は重複を探しました、そして、あなたはいくつかがあると言うかもしれません、しかし私は解決策を試みました(ほとんどが解決策でさえないけれども)そして何もうまくいきませんでした。
PyCryptoのファイルは次のようになっています。
私は同じ問題を抱えていた(ただしLinux上)。解決策は非常に簡単でした - 追加:
libraries:
- name: pycrypto
version: "2.6"
私のapp.yaml
ファイルに。これは過去に正しく機能していたので、私はこれが新しい要件であると思います。
pip
を使ってインストールするとき、私は私のMacでも同じ問題を抱えていました。私はそれからpycrypto
を削除し、easy_install
を使用して再度インストールしました。
pip uninstall pycrypto
easy_install pycrypto
lukeさんがコメントしたとおり、これらのコマンドを実行するのに問題がある場合は、必ずadminとして実行してください。(Sudo)
お役に立てれば!
私も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
Macでは...これに遭遇した場合..代わりに暗号をインポートできるかどうか確認してみてください。
もしそうなら..パッケージ名はC
vs c
です。これを回避するには、次の行をスクリプトの先頭に追加してください。
import crypto
import sys
sys.modules['Crypto'] = crypto
あなたは正常にparamikoをインポートすることができるはずです。
タイプコマンド:
Sudo pip install pycrypto
crypto
とpycrypto
をアンインストールするとうまくいきます。それからpycrypto
だけをインストールしてください。
pip uninstall crypto
pip uninstall pycrypto
pip install pycrypto
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)cd
(cd ~/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
redHatを使っているなら、Fedora、centos:
Sudo yum install pycrypto
私の場合は、pipを使ってインストールすることはできません。
pip3で試してください。
Sudo pip3 install pycrypto
それはpipでインストールされたpythonモジュールをロードすることの問題かもしれません。この回答を参照してください site-packagesディレクトリ からpipでインストールしたPythonモジュールをロードできず、次のようにしてみてください。
python -m pip install pycrypto
CentOS 7.4では、最初にpipをインストールし、次にpipを使用してpycryptoをインストールしました。
> Sudo yum -y install python-pip
> Sudo python -m pip install pycrypto
この問題を解決するには、最初の大文字を大文字に変更します。 「Crypto.CipherからAESをインポートする」から「」「crypto.CipherからAESをインポートする」「」ではないことを確認します。
私のために働きました(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を使用
これまで、私は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をインストールすると、この問題は解決するはずです。
この問題は、C++コンパイラ(python27またはpython26)をインストールすることで解決できます。 Microsoftからダウンロードして https://www.Microsoft.com/ja-jp/download/details.aspx?id=44266 を再実行してください。 command:pip install pycrypto
のプロセスを終了したときにgui Webアクセスを実行するためのeasy_install.exe
。
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インストール
それは私のために働いた。希望はすべてのために働く..
もしあなたがmacosであれば、libフォルダの名前をlib/python3.7/site-packages/crypto
からlib/python3.7/site-packages/Crypto
に変更してください。
私は3.7です。暗号をインストールしようとしても問題は残ります。そして、私の場合、pycryptoは失敗します。最終的に私のビルドは以下のパッケージを介して渡されました:pip install pycryptodome
多分あなたはこれをするべきです:pycryptodome == 3.6.1それをRequirements.txtに追加してインストールしてください。これによりエラー報告は削除されるはずです。わたしにはできる!