Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 应用引擎:ImportError:没有名为Crypto.Hash的模块_Python_Google App Engine_Pycrypto - Fatal编程技术网

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