Chartes-TNAH / projet_OBBC_AppPy

Application web python-Flask sur un corpus de chants populaires bretons réalisée dans le cadre du cours de développement applicatif du Master TNAH-ENC
2 stars 3 forks source link

Lancement Application #5

Open vasaura opened 3 years ago

vasaura commented 3 years ago

Cher @Lucaterre, j'ai découvert ton projet grâce à @PonteIneptique et je dois dire qu'il est vraiment impressionnant et que ça m'a donné plein d'idées. Je voulais soumettre à ton attention une erreur de lancement que j'ai rencontrée et aussi la solution qui a fonctionné dans mon cas et qui peut peut-être aider d'autres collègues. Je travaille sur Mac et je me demande si l'erreur n'y ait pas liée. J'ai suivi toutes les étapes d'installation précisées dans le readme. Lorsque la lance run.py, j'ai le message suivant:

from app.app import app
File "/Users/auvasile/projet_OBBC_AppPy/OBBC/app/app.py", line 73, in <module>
from .routes import accueil, a_propos, contact, themes, \
File "/Users/auvasile/projet_OBBC_AppPy/OBBC/app/routes.py", line 15, in <module>
from .modeles.donnees import SongsBB
File "/Users/auvasile/projet_OBBC_AppPy/OBBC/app/modeles/donnees.py", line 142, in <module>
db.drop_all()
File "/Users/auvasile/projet_OBBC_AppPy/env/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 1041, in drop_all
self._execute_for_all_tables(app, bind, 'drop_all')
File "/Users/auvasile/projet_OBBC_AppPy/env/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 1025, in _execute_for_all_tables
op(bind=self.get_engine(app, bind), **extra)
File "/Users/auvasile/projet_OBBC_AppPy/env/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 956, in get_engine
return connector.get_engine()
File "/Users/auvasile/projet_OBBC_AppPy/env/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 560, in get_engine
options = self.get_options(sa_url, echo)
File "/Users/auvasile/projet_OBBC_AppPy/env/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 575, in get_options
self._sa.apply_driver_hacks(self._app, sa_url, options)
File "/Users/auvasile/projet_OBBC_AppPy/env/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 908, in apply_driver_hacks sa_url.database = os.path.join(app.root_path, sa_url.database)
AttributeError: can't set attribute

Afin de régler le problème, j'ai du passer de Flask-SQLAlchemy==2.4.1 à Flask-SQLAlchemy==2.5.1 En espérant que ça peut faire gagner du temps à d'autres.

Félicitation encore pour ce travail fantastique.

Lucaterre commented 3 years ago

Bonjour @vasaura,

Tout d'abord merci pour l'intérêt rencontré pour le projet et pour m'avoir signalé cette erreur.

En effet, j'ai pu reproduire le bug; les causes peuvent se trouver au niveau de l'OS ou encore de la version python utilisée lors de l'installation des packages via pip.

Toujours est-il que j'ai mis à jour le requirements.txt (commit 6a9996e), normalement ça devrai résoudre le problème (je laisse l'issue ouverte si l'erreur se reproduit).

PonteIneptique commented 3 years ago

Alors, d'abord, cela me fait plaisir de voir ces interactions, merci à vous deux., Pour avoir eu le problème avec les étudiant-e-s de cette année et leur devoir, SQLAlchemy a changé un peu son fonctionnement, et FlaskSqlAlchemy avait une dépendance un peu lâche (>=XXX mais pas de <), qui fait que SQLAlchemy et son adaptation flask n'étaient plus compatible ...