Je suis en cours d'exécution de la fiole, du poymon et du ballon-connexion en tant que pile.
mon application de flacon fonctionne bien localement, mais une fois que je l'ai déployé avec UWSGI sur Nginx, je reçois une erreur unicode étrange à partir d'une extension Flask_Login. p>
Traceback: strong> p> [pid: 21753|app: 0|req: 5/5] 84.207.253.34 () {38 vars in 600 bytes} [Thu Jun 13 16:51:08 2013] GET / => generated 0 bytes in 4 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0)
Traceback (most recent call last):
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1473, in full_dispatch_request
rv = self.preprocess_request()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1666, in preprocess_request
rv = func()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask_login.py", line 311, in _load_user
deleted = self._session_protection()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask_login.py", line 325, in _session_protection
ident = _create_identifier()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask_login.py", line 133, in _create_identifier
request.headers.get("User-Agent")), 'utf8', errors='replace')
TypeError: decoding Unicode is not supported
4 Réponses :
J'ai le même problème sur mon environnement de développement, avec le ballon 0.10 et le ballon-login 0.1.3
ressemble à un ballon 0.10 comporte maintenant des en-têtes de demande Unicode afin que le ballon-connexion explose lors de l'essai de la chaîne déjà codée. ... p>
Flack_login Les gens y travaillent déjà: https://github.com/maxcountryman/flask-login/issues/78 p>
Merci pour le lien. J'ai maintenant supprimé la totalité virtuelle-env et créé une nouvelle pile. Mais je reçois toujours la même erreur: babel == 0.9.6 Flacon == 0.9 Boucle-actifs == 0.8 Flacon-babel == 0.8 Flacon-BCRYPT == 0.5.2 BLACK-LOGIN == 0.1.3 Flacon -WTF == 0.8.3 JINJA2 == 2.7 MarkUpsafe == 0.18 WTForms == 1.0.4 WERKZEUG == 0.9 Argparse == 1.2.1 Fermeture == 20121212 CSSmin == 0,1.4 isodate == 0.4.9 Jsonschema == 2.0.0 PY-BCRYPT == 0.3 PYMONGO == 2.5.2 Python-DATEUTILLE == 1.5 PYTZ == 2013B RATH == 0.5.4 Demandes == 1.1.0 Supprimer == 1.3 WebAssets == 0.8 wsgiref == 0.1. 2 code>
Même ici Kave, peut-être que Werkzeug doit être dégradé aussi? Une solution d'urgence pour le ballon-connexion a toutefois été demandée.
Utilisez du ballon de 0,9 jusqu'à ce qu'il y ait une libération ou un ballon de raccordement vous-même.
Selon la Losu S., cela semble être un problème de flacon 0.10. Essayez d'installer la version précédente du ballon dans votre environnement virtuel en utilisant:
Pip Installez le flacon == 0.9 code> Ne résolvez pas le problème car il téléchargera
werkzeug == 0.9 code> Vous devez donc utiliser
pip Installation flacon == 0.9 Werkzeug == 0.8 .3 code>
Le problème ne sera pas résolu en déclassement du ballon seul, car même l'installation de flacon == 0.9 code> installerait les dernières dépendances, qui est le mauvais
werkzeug == 0.9 code>
Vous feriez donc mieux d'installer les éléments suivants dans cette commande:
pip install werkzeug==0.8.3
pip install flask==0.9
pip install Flask-Login==0.1.3
À mon avis, c'est la meilleure chose à faire.
RE: Le patch d'urgence: Considérant que le responsable du flacon-connexion a ; Pour attendre un , je ne m'attendrais pas à ce que cela sorte. De l'apparence de celui-ci, le ballon-connexion ne prendra pas en charge le flacon V0.10 jusqu'à une branche de nettoyage. Qui, afaïc, va bien: n'utilisez pas encore le ballon 0.10 :)
Notez également que c'est un bug en amont, a rapporté ici . Flacon-Login a été mis à jour mais ne peut pas résoudre le problème en amont, bien sûr. Vous préférez peut-être utiliser le Série de version 0.2.x maintenant.
Malheureusement, cela ne fonctionne pas pour moi, bien que je soupçonne que c'est du flacon-oauthlib qui est en cause.
Ma fourche qui corrige ce problème: Installation à l'aide de: p>