I have been working to deploy the Authenticating Users on App Engine Using Firebase tutorial, and can successfully deploy this to my local machine.
As I wish to test some python modules that don't run on the standard Google App Engine, I have now tried to deploy this to the Flexible Environment via this setting in app.yaml
vm: true
the frontend deploys fine to the flexible app engine, but the backend throws an error during the import of firebase_helper.py. Specifically, it is choking on this line:
from Crypto.Util import asn1
The raw stacktrace is listed here:
Traceback (most recent call last):
File "/home/vmagent/python_vm_runtime/google/appengine/ext/vmruntime/meta_app.py", line 550, in GetUserAppAndServe
app, mod_file = self.GetUserApp(script)
File "/home/vmagent/python_vm_runtime/google/appengine/ext/vmruntime/meta_app.py", line 411, in GetUserApp
app = _AppFrom27StyleScript(script)
File "/home/vmagent/python_vm_runtime/google/appengine/ext/vmruntime/meta_app.py", line 271, in _AppFrom27StyleScript
app, filename, err = wsgi.LoadObject(script)
File "/home/vmagent/python_vm_runtime/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "/home/vmagent/app/main.py", line 22, in <module>
import firebase_helper
File "/home/vmagent/app/firebase_helper.py", line 20, in <module>
from Crypto.Util import asn1
ImportError: No module named Crypto.Util
Now, pycrypto is already included in the app.yaml:
libraries:
- name: ssl
version: 2.7.11
- name: pycrypto
version: 2.6.1
I have SSH'd into the server, and Crypto is installed. I can also load it into a python console on the VM, without problems.
Any idea why I get this error during deployment?