从Python Google应用程序引擎连接到Firebase

从Python Google应用程序引擎连接到Firebase,python,google-app-engine,firebase,Python,Google App Engine,Firebase,我正在尝试从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\__i

我正在尝试从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
文件“C:\\u dev\PycharmProjects\myapp\project\project\u handler.py”,第31行,在
从firebase导入firebase
文件“C:\\u dev\PycharmProjects\myapp\external\firebase\\uu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu.py”,第3行,在
从.async导入进程\u池
文件“C:\\u dev\PycharmProjects\myapp\external\firebase\async.py”,第1行,在
导入多处理
文件“C:\PYTHON27\lib\multiprocessing\\uuuu init\uuuuu.py”,第65行,在
从multiprocessing.util导入子调试,子警告
文件“C:\PYTHON27\lib\multiprocessing\util.py”,第40行,在
从子流程导入\u参数\u从\u解释器\u标志
ImportError:无法从\u解释器\u标志导入名称\u参数\u

其他人似乎有这个问题,但我在任何地方都找不到答案。

python firebase pip包依赖于GAE python中不可用的“”pip包。只有urlfetch可用(文档)


因此,您可以实现自己的python代码,使用urlfetch直接向firebase REST api发出请求。。。或者为了使其可重用,您或其他人可以使用一个版本的PythonFirebase,它使用urlfetch而不是请求库

现在有一个基于URL获取的项目,它不依赖于任何受限制的包。

python firebase默认使用多处理包进行线程处理。默认情况下,AppEngine会阻止所有多处理调用。AppEngine通过创建任务队列并在加载时旋转应用程序的其他实例来执行自己的多处理形式


我已经创建了一个包来处理这个问题

因为您使用的是Python3.7版本,并且使用系统变量作为局部变量,所以请尝试一下,稍后再感谢我

1) 将.async重命名为.async_

2) 打开初始化文件并将.async更改为.async_

3) 打开firebase.py并将.async更改为.async_

因为.async现在是关键字


我希望它对您有所帮助

不完全是这样。您可以在GAE中使用pip安装第三方库。包括请求,实际上@javva正在使用的库需要以这种方式安装。问题似乎是在GAE不允许的情况下,python firebase库使用了多处理。