我有一个使用Crypto.Hash
的脚本,但是导入失败并显示以下错误:
ImportError: No module named Crypto.Hash
如果我打印
sys.path
列表,则在我的sys.path
中,存在此条目(以及其他条目):/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/pycrypto-2.6
如果我打开上面的路径,则没有pycrypto-2.6目录。
如何加载pycrypto 2.6?
如果我从命令行导入运行python的
Crypto.Hash
,则可以正常工作我必须指出,App Engine支持pycrypto,它包含在this list中。
此外,我在
app.yaml
文件中包含了该模块:libraries:
- name: webapp2
version: "2.5.2"
- name: pycrypto
version: latest
- name: lxml
version: "2.3"
- name: ssl
version: latest
如果我在appengine上的生产环境中发送代码,则该代码可以正常工作,问题出在我的系统中,我应该下载pycrypto的编译版本,并将其放在appengine可以使用的地方
最佳答案
似乎在MAC OSX上发生了一个问题,我设法解决的是以下问题:
首先,您需要知道pycripto的安装位置,正在运行
sudo pip install pycrypto
您安装库或获取安装路径
然后,考虑到这是在appengine上的生产中不会发生的问题,我这样做是:
try:
from Crypto.Hash import SHA
except ImportError:
import sys
sys.path.append('/[mypath]/anaconda/lib/python2.7/site-packages')
from Crypto.Hash import SHA # requires PyCrypto
关于python - 应用程序引擎: ImportError: No module named Crypto.哈希,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29350204/