我想在我的应用引擎项目中使用 Firebase。我已按照文档中提到的说明使用第三方库。每当我尝试导入Firebase时:
from firebase import firebase
firebase = firebase.FirebaseApplication('ttps://myapp-c1367.firebaseio.com', None)
result = firebase.get('/users', None)
print result
它给出以下错误:
Traceback (most recent call last):
File "C:Program Files (x86)Googlegoogle_appenginelibwebapp2-2.5.2webapp2.py", line 1535, in __call__
rv = self.handle_exception(request, response, e)
File "C:Program Files (x86)Googlegoogle_appenginelibwebapp2-2.5.2webapp2.py", line 1529, in __call__
rv = self.router.dispatch(request, response)
File "C:Program Files (x86)Googlegoogle_appenginelibwebapp2-2.5.2webapp2.py", line 1278, in default_dispatcher
return route.handler_adapter(request, response)
File "C:Program Files (x86)Googlegoogle_appenginelibwebapp2-2.5.2webapp2.py", line 1102, in __call__
return handler.dispatch()
File "C:UsersshaiziPycharmProjectssimpletestapp - MVCcontrollersHandlers.py", line 24, in dispatch
webapp2.RequestHandler.dispatch(self)
File "C:Program Files (x86)Googlegoogle_appenginelibwebapp2-2.5.2webapp2.py", line 572, in dispatch
return self.handle_exception(e, self.app.debug)
File "C:Program Files (x86)Googlegoogle_appenginelibwebapp2-2.5.2webapp2.py", line 570, in dispatch
return method(*args, **kwargs)
File "C:UsersshaiziPycharmProjectssimpletestapp - MVCcontrollersLogin.py", line 45, in get
from firebase import firebase
File "C:UsersshaiziPycharmProjectssimpletestapp - MVClibfirebase__init__.py", line 3, in <module>
from .async import process_pool
File "C:UsersshaiziPycharmProjectssimpletestapp - MVClibfirebaseasync.py", line 1, in <module>
import multiprocessing
File "C:Python27Libmultiprocessing__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "C:Python27Libmultiprocessingutil.py", line 41, in <module>
from subprocess import _args_from_interpreter_flags
ImportError: cannot import name _args_from_interpreter_flags
请帮忙。我哪里做错了?
该错误是由导入 python 的multiprocessing
包的firebase
包引起的,而该包又会尝试导入subprocess
包。
Appengine 标准运行时环境不允许导入subprocess
,因为 Appengine 上不允许后台进程。
如果您想在应用中使用 Firebase,则需要使用 REST API 与应用进行通信,或者将项目移动到灵活的环境或 Compute Engine 上的自定义运行时。