Python 应用引擎:ImportError:没有名为Crypto.Hash的模块
我有一个脚本使用了Python 应用引擎:ImportError:没有名为Crypto.Hash的模块,python,google-app-engine,pycrypto,Python,Google App Engine,Pycrypto,我有一个脚本使用了加密散列,但导入失败并出现错误: ImportError: No module named Crypto.Hash 在我的sys.path中,如果我打印sys.path列表,则有以下条目(以及其他条目): 如果我打开上面的路径,就没有pycrypto-2.6目录 如何加载pycrypto 2.6 如果我从命令行导入运行python的Crypto.Hash,它就会工作 我必须指出,pycrypto是由App Engine支持的,它包含在 此外,我已将模块包括在我的app.yam
加密散列
,但导入失败并出现错误:
ImportError: No module named Crypto.Hash
在我的sys.path
中,如果我打印sys.path
列表,则有以下条目(以及其他条目):
如果我打开上面的路径,就没有pycrypto-2.6目录
如何加载pycrypto 2.6
如果我从命令行导入运行python的Crypto.Hash
,它就会工作
我必须指出,pycrypto是由App Engine支持的,它包含在
此外,我已将模块包括在我的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上似乎出现了一个问题,我所能做的就是: 首先,您需要知道pyscripto的安装在何处,正在运行
sudo pip install pycrypto
要么安装库,要么获取安装库的路径
已满足要求(使用--升级到升级):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
使用
dev_appserver.py
从命令行运行SDK,而不是使用GUI(假设您已经检查过它是通过pip
安装的)
我也看到过类似的问题,appengine没有在本地导入库,即使它们已经安装,并且在生产中运行良好。我想到了MySQLDB,尽管我找不到引用。无论如何,这对我很有用。在我的例子中,AppengineUps将该库包括在支持的库列表中。。右:)您必须将其包含在app.yaml中。。你这么做了吗?我撤回了投票,因为我没有注意到它在名单上。谢谢,如果我在生产中发送代码,它会工作,这是我系统上的一个问题。你在运行什么操作系统?
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