7
votes

Connexion à Firebase de Python Google App Moteur

J'essaie de vous connecter à Firebase à partir de l'App moteur, mais je reçois cette erreur en essayant d'importer FireBase à l'aide du wrapper Python-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


0 commentaires

4 Réponses :


0
votes

Le package PIP Python-Firebase dépend du " Demandes " PIP package Ce qui n'est pas disponible dans Gae Python. Il n'y a que Urlfetch disponible (Docs https://cloud.google.com/appengine/docs/ python / urlfetch / ).

Donc, vous pouvez mettre en œuvre votre propre code Python pour émettre des demandes directement à l'API de repos de Firebase à l'aide d'Urlfetch ... ou de la rendre réutilisable, vous ou une version de Python-Firebase qui utilise Urlfetch au lieu des demandes. bibliothèque.


1 commentaires

Pas précisément. Vous pouvez installer des bibliothèques tierces à l'aide d'un PIP in GAE. cloud.google.com/appengine/docs/ Python / Outils / ... Y compris les demandes, en réalité, la bibliothèque @javva utilise doit être installée de cette façon. Le problème semble être la bibliothèque Python-Firebase à l'aide de multipergaissant lorsque GAE ne le permet pas.



2
votes

Il y a maintenant un Python-Firebase-gae projet basé sur l'URL Fetch et ne dépend pas de packages restreints.


0 commentaires

4
votes

Le python Firebase par défaut utilise le package multiprocessionnant pour le filetage. Par défaut, Appengine bloque tous les appels multiprofessionnels. Appengine fait sa propre forme de multitraitement en créant des files d'attente de tâches et en tournant d'autres instances de votre application lors de la charge.

J'ai créé un python-firebase-gae paquet pour faire face à cela publier.


0 commentaires

1
votes

À cause de vous utilisez la version Python 3.7 et utilisez une variable système en tant que variable locale, essayez-moi et merci plus tard ...

1) renommer .ASync dans .ASync _

2) Open__Init__ Fichier et modifier .Async en .Async _

3) Ouvrez Firebase.py et changez .Async en .ASync _

à cause de .ASYNC est le mot clé maintenant

J'espère que cela vous aide


0 commentaires