sqlalchemy.exc.ArgumentError: Impossible de charger le plugin: sqlalchemy.dialects: driver
Je suis en train de lancer alembic
migration et quand je lance
alembic revision --autogenerate -m "Added initial tables"
Il ne parvient pas dire
sqlalchemy.exc.ArgumentError: Can't load plugin: sqlalchemy.dialects:driver
la base de données d'url est
postgresql+psycopg2://dev:passwd@localhost/db
et j'ai même psycopg2
installé dans mon virtualenv
$yolk -l
Flask-Login - 0.1.3 - active
Flask-SQLAlchemy - 0.16 - active
Flask - 0.9 - active
Jinja2 - 2.6 - active
Mako - 0.7.3 - active
MarkupSafe - 0.15 - active
Python - 2.7.2 - active development (/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload)
SQLAlchemy - 0.8.0 - active
Werkzeug - 0.8.3 - active
alembic - 0.4.2 - active
antiorm - 1.1.1 - active
appscript - 1.0.1 - active
distribute - 0.6.27 - active
envoy - 0.0.2 - active
osascript - 0.0.4 - active
pep8 - 1.4.5 - active
pip - 1.1 - active
psycopg2 - 2.4.6 - active
wsgiref - 0.1.2 - active development (/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7)
yolk - 0.4.3 - active
Whay pourrait être à l'origine de ce problème?
source d'informationauteur daydreamer
Vous devez vous connecter pour publier un commentaire.
Voici comment produire une erreur comme ça:
je dirais donc que vous n'êtes pas en train de l'utiliser postgresql URL que vous pensez de vous - vous êtes probablement faire appel à un défaut généré par l'alambic.ini quelque part.
Pour ceux qui n'ont pas remarqué, le "par défaut généré par l'alambic.ini" zzzzeek fait référence se trouve dans le répertoire racine du projet.
Tout le problème est celui de la définition de la
sqlalchemy.url
config paramètre dans laalembic.ini
fichier. Aussi, il peut être défini par programmation comme expliqué dans https://stackoverflow.com/a/15668175/973380.Avis que le régime ne fait pas de spécifier le pilote, mais le dialecte: le système est de la forme
dialect://
oudialect+driver://
.Par exemple l'url correcte pour se connecter à une base de données PostgreSQL serait de commencer avec, par exemple,
postgres://
(qui est par défaut à l'aide depsycopg2
), ou le choix d'un pilote explicitement (postgres+psycopg2://
ou avec un autre pilote).Si vous spécifiez seulement
psycopg2
vous obtiendrez l'erreurEssayer ces commandes pour installer les paquets manquants: