问题
I'm running a local server in Python with GAE, and importing a 3rd party library, which in turn imports pycrypto. I installed it locally using pip and included it in my app.yaml file, but when I run the server, I get the following error:
ImportError: cannot import name OSRNG
Here's what my app.yaml looks like:
runtime: python27
threadsafe: 1
handlers:
- url: /.*
script: main.app
libraries:
- name: pycrypto
version: "latest"
I'm running homebrew python 2.7.
回答1:
The pycrypto library is built-in in the runtime environment, however you need to install it locally in order to run the local development server, as you did. It might just be a problem with versions, as the supported pycrypto versions are 2.3, 2.6 and 2.6.1.
Try installing the proper version with pip install pycrypto==2.6.1
.
Then, change your app.yaml file to the appropriate version:
libraries:
- name: pycrypto
version: "2.6.1"
回答2:
Official documentation seems to suggest that api_version
in app.yaml
is required.
来源:https://stackoverflow.com/questions/47641437/import-error-pycrypto-google-app-engine