我正在尝试从App Engine连接到Firebase,但是在尝试使用Python-Firebase包装器导入Firebase时出现此错误:
File "C:\_dev\PycharmProjects\myapp\project\project_handler.py", line 31, in <module>
from firebase import firebase
File "C:\_dev\PycharmProjects\myapp\external\firebase\__init__.py", line 3, in <module>
from .async import process_pool
File "C:\_dev\PycharmProjects\myapp\external\firebase\async.py", line 1, in <module>
import multiprocessing
File "C:\PYTHON27\lib\multiprocessing\__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "C:\PYTHON27\lib\multiprocessing\util.py", line 40, in <module>
from subprocess import _args_from_interpreter_flags
ImportError: cannot import name _args_from_interpreter_flags
其他人似乎有same issue,但我无法在任何地方找到答案。
答案 0 :(得分:4)
默认情况下,python firebase使用多处理包进行线程处理。默认情况下,AppEngine会阻止所有多处理调用。 AppEngine通过创建任务队列并在加载时启动应用程序的其他实例来执行自己的多处理形式。
我已经创建了一个python-firebase-gae包来处理这个问题。
答案 1 :(得分:2)
现在有一个基于URL Fetch的python-firebase-gae项目,并且不依赖于任何受限制的包。
答案 2 :(得分:0)
python-firebase pip包取决于&#34; requests&#34;在GAE python中不可用的pip包。只提供了urlfetch(文档https://cloud.google.com/appengine/docs/python/urlfetch/)。
因此,您可以实现自己的python代码,使用urlfetch直接向firebase REST api发出请求...或者使其可重用,您或某人可能拥有使用urlfetch而不是请求的python-firebase版本图书馆。
答案 3 :(得分:0)
因为您使用的是python 3.7版本,并且将系统变量用作局部变量,请尝试执行此操作,以后再感谢我。...
1)将.async重命名为.async _
2)open__init__文件并将.async更改为.async _
3)打开firebase.py并将.async更改为.async _
因为.async现在是关键字
希望对您有帮助