Python Tornado Web - AttributeError: l'objet 'Connection' n'a pas d'attribut '_execute'
-
06-07-2019 - |
Question
Je rencontre un comportement étrange lorsque je déploie mon application sur mon serveur de production avec la dernière branche de tornadoweb.
J'ai testé le code à plusieurs reprises et il fonctionne pleinement lorsque je le teste sur mon ordinateur portable (Archlinux) avec Python 2.6.3 et MySQLdb 1.2.3b2.
Dès que je déploie sur mon serveur de production (Ubuntu x64) avec Python 2.6.2, MySQLdb 1.2.3.c1 (également testé avec la version 1.2.1) et appelle cette page, il génère cette erreur:
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/tornado/web.py", line
688, in _execute
getattr(self, self.request.method.lower())(*args, **kwargs)
File "/var/www/app.py", line 122, in get
self.store_db('cc',test)
File "/var/www/app.py", line 82, in store_db
self.db.execute(query)
File "/usr/local/lib/python2.6/dist-packages/tornado/database.py",
line 132, in execute
self._execute(cursor, query, parameters)
AttributeError: 'Connection' object has no attribute '_execute'
Le comportement étrange est également que le test de la démo native (appelée blog) sur mon ordinateur portable fonctionne correctement, mais dès que je le déploie en production, il cesse de fonctionner avec les problèmes de sauvegarde répertoriés ci-dessus.
Je dois ajouter que les fonctions db.get
/ db.query
fonctionnent correctement.
La solution
J'ai finalement résolu mon problème en passant à une nouvelle version d'ubuntu x64 au lieu d'utiliser une version i386.