我使用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。
答案 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!