导入错误pycrypto谷歌应用引擎

时间:2017-12-04 20:27:34

标签: python google-app-engine importerror

我使用GAE在Python中运行本地服务器,并导入第三方库,后者又导入pycrypto。我使用pip在本地安装它并将其包含在我的app.yaml文件中,但是当我运行服务器时,我收到以下错误:

ImportError: cannot import name OSRNG

这是我的app.yaml的样子:

runtime: python27
threadsafe: 1

handlers:
- url: /.*
  script: main.app

libraries:
- name: pycrypto
  version: "latest"

我正在运行自制的python 2.7。

3 个答案:

答案 0 :(得分:0)

pycrypto 库是内置于运行时环境中的,但是您需要在本地安装它才能运行本地开发服务器,就像您一样。它可能只是版本的问题,因为supported pycrypto versions 2.3 2.6 2.6.1

尝试使用mockito-all安装正确的版本。

然后,将您的 app.yaml 文件更改为相应的版本:

pip install pycrypto==2.6.1

答案 1 :(得分:0)

Official documentation似乎建议api_version中的app.yaml是必需的。

答案 2 :(得分:0)

对我来说,问题是Google App Engine使用自己的python安装(在我的情况下为“ C:\ Program Files(x86)\ Google \ Cloud SDK \ google-cloud-sdk \ platform \ bundledpython2 \ python.exe “)。

一旦我使用该路径安装了pycrypto,它就可以正常工作:

.\python.exe -m pip install pycrypto

注意!需要以管理员身份运行cmd / powershell!