Gra*_*ith 110 python pip virtualenv easy-install pycrypto
当我尝试运行app.py(Python 3.3,PyCrypto 2.6)时,我的virtualenv不断返回上面列出的错误.我的导入声明是公正的from Crypto.Cipher import AES.我寻找重复,你可能会说有一些,但我尝试了解决方案(虽然大多数甚至不是解决方案),没有任何工作.
您可以在下面看到PyCrypto的文件:

ela*_*ver 183
安装时我在Mac上遇到了同样的问题pip.然后我删除pycrypto并再次安装它easy_install,如下所示:
pip uninstall pycrypto
easy_install pycrypto
Run Code Online (Sandbox Code Playgroud)
也正如Luke评论的那样:如果您在运行这些命令时遇到问题,请确保以管理员身份运行它们(sudo)
希望这可以帮助!
小智 92
我也在Mac上碰到了这个问题,这似乎与一个不幸的是同样命名的"加密"模块(不知道是什么用)通过pip安装在pycrypto旁边有关.
修复似乎是删除加密和pycrypto与pip:
sudo pip uninstall crypto
sudo pip uninstall pycrypto
Run Code Online (Sandbox Code Playgroud)
并重新安装pycrypto:
sudo pip install pycrypto
Run Code Online (Sandbox Code Playgroud)
现在,当我执行以下操作时,它按预期工作:
from Crypto.Cipher import AES
Run Code Online (Sandbox Code Playgroud)
win*_*rrr 71
crypto或pycrypto不再使用!正如你可以在阅读此页,的用法pycrypto是不是安全了:
Pycrypto 容易受到 block_templace.c 中 ALGnew 函数中基于堆的缓冲区溢出的影响。它允许远程攻击者在 python 应用程序中执行任意代码。它被分配了CVE-2013-7459编号。
自 2014 年 6 月 20 日以来,Pycrypto 没有发布对该漏洞的任何修复程序,也没有对该项目进行任何提交。
CVE 现在已修复(感谢 @SumitBadsara 指出!)。您可以在 Debian 安全跟踪器中找到每个软件包的开放安全票的当前状态:
pycryptodome吧!请务必卸载的所有版本crypto和pycrypto第一,然后安装pycryptodome:
pip3 uninstall crypto
pip3 uninstall pycrypto
pip3 install pycryptodome
Run Code Online (Sandbox Code Playgroud)
所有这三个包都安装到同一个文件夹中,名为Crypto. 在相同的文件夹名称下安装不同的包可能是错误的常见来源!
有关更多信息,请参阅pycryptodome.org。
为了避免不同版本的 pip 软件包或安装在同一文件夹(即pycrypto和pycryptodome)下的软件包出现问题,您可以使用所谓的虚拟环境。在那里,可以为每个项目单独管理已安装的 pip 包。
要安装虚拟环境并设置所有内容,请使用以下命令:
# install python3 and pip3
sudo apt update
sudo apt upgrade
sudo apt install python3
sudo apt install python3-pip
# install virtualenv
pip3 install virtualenv
# install and create a virtual environment in your target folder
mkdir target_folder
cd target_folder
python3 -m virtualenv .
# now activate your venv and install pycryptodome
source bin/activate
pip3 install pycryptodome
# check if everything worked:
# start the interactive python console and import the Crypto module
# when there is no import error then it worked
python
>>> from Crypto.Cipher import AES
>>> exit()
# don't forget to deactivate your venv again
deactivate
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅docs.python-guide.org。
小智 58
我有同样的问题(虽然在Linux上).解决方案非常简单 - 添加:
libraries:
- name: pycrypto
version: "2.6"
Run Code Online (Sandbox Code Playgroud)
到我的app.yaml文件.由于这在过去是正常的,我认为这是一个新的要求.
小智 30
在Mac上...如果遇到这个...尝试看看你是否可以导入加密?
如果是这样..包名是问题CVS c.要解决这个问题,只需将这些行添加到脚本的顶部即可.
import crypto
import sys
sys.modules['Crypto'] = crypto
Run Code Online (Sandbox Code Playgroud)
你知道应该能够成功导入paramiko.
小智 19
type命令:
sudo pip install pycrypto
Run Code Online (Sandbox Code Playgroud)
tth*_*rch 19
卸载crypto并pycrypto为我工作.然后只安装pycrypto:
pip uninstall crypto
pip uninstall pycrypto
pip install pycrypto
Run Code Online (Sandbox Code Playgroud)
小智 16
我找到了解决方案.问题可能是灵敏度(在Windows上).
只需更改文件夹的名称:
C:\Python27\Lib\site-packages\cryptoC:\Python27\Lib\site-packages\Cryptoisa*_*isa 11
在终端屏幕中运行以下代码
pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome
Run Code Online (Sandbox Code Playgroud)
小智 8
我遇到了同样的问题'ImportError: No module named Crypto.Cipher',因为在OSX 10.8.5(Mountain Lion)上使用了GoogleAppEngineLauncher(版本> 1.8.X)和GAE Boilerplate.在使用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)在上一个文件夹中执行以下终端命令,以便在GAE文件夹中手动安装pyCrypto 2.6.
sudo python setup.py install --install-lib /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
Run Code Online (Sandbox Code Playgroud)
如果您是 macos,请将 lib 文件夹重命名lib/python3.7/site-packages/crypto为lib/python3.7/site-packages/Crypto
小智 6
如果您将此模块与 Python3 一起使用并且在导入时遇到问题。尝试这个。
pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome
Run Code Online (Sandbox Code Playgroud)
祝你好运!
小智 6
即使安装了 Crypto 之后,我仍然收到以下错误:
python my_script.py
Traceback (most recent call last):
File "D:\gitworkspace\cloudtools\py\my_script.py", line 19, in <module>
from Crypto.Cipher import AES
ModuleNotFoundError: No module named 'Crypto'
Run Code Online (Sandbox Code Playgroud)
然后在这篇文章中我找到了解决该问题的命令。
pip install pycryptodome
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
331470 次 |
| 最近记录: |