2 votes

python 3.7.4 : FLASK_SQLALCHEMY Pas de module nommé '_sqlite3'.

J'utilise Debian "Linux mint 19.1" et python 3.7.4 et le système a déjà les versions 2.7 & 3.6. Je crée un env mais quand je commence à créer un fichier de base de données avec db.create_all() J'ai "...

ModuleNotFoundError : Aucun module nommé '_sqlite3' "

J'ai essayé d'installer ces paquets [ quick-sqlite , pysqlite3 ]

db.create_all() Traceback (dernier appel le plus récent) : Fichier "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/sqlalchemy/dialects/ from pysqlite2 import dbapi2 as sqlite ModuleNotFoundError : Aucun module nommé 'pysqlite2'

Pendant le traitement de l'exception susmentionnée, une autre exception s'est produite :

Traceback (most rec F Fichier "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/flask_sqlalchemy/ init .p self._execute_for_all_tab Fichier "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/flask_sqlalchemy/ init .py", ligne 1025, in _execute_for_all_tables op(bind=self.get_engine(app, bind), **extra) Fichier "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/flask_sqlalchemy/ init .py", ligne 956, in get_engine return connector.get_engine() Fichier "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/flask_sqlalchemy/ init .py", ligne 561, in get_engine self._engine = rv = self._sa.create_engine(sa_url, options) Fichier "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/flask_sqlalchemy/ init .py", ligne 966, in create_engine return sqlalchemy.create_engine(sa Fichier "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/sqlalchemy/engine/ init .py", ligne 435, in create_engine return strategy.create(*args, Fichier "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/sqlalc dbapi = dialect_cls.dbapi(**dbapi_args) File "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/sqlalchemy/dialects/sqlite/pysqlite.py", line 343, in dbapi [ ] File "/media/gabalawy/projetcs/training/Flask_Blog/env3.7/lib/python3.7/site-packages/sqlalchemy/dialects/sqlite/pysqlite.py", line 341, in dbapi from sqlite3 import dbapi2 as sqlite # try 2.5+ stdlib name. File "/usr/local/lib/python3.7/sqlite3/ init .py", ligne 23, in from sqlite3.dbap File "/usr/local/lib/python3.7/sqlite3/dbapi2.py", line 27, in from _sqlite3 import * ModuleNotFoundError : Aucun module nommé '_sqlite3'

2voto

Ahmed Salah Points 41

J'ai installé "pysqlite3".

pip install pysqlite3

et modifier

"/site-packages/sqlalchemy/dialects/sqlite/pysqlite.py", ligne 341

from sqlite3 import dbapi2 as sqlite  # try 2.5+ stdlib name.

à

from pysqlite3 import dbapi2 as sqlite  # try 2.5+ stdlib name.

0voto

Peter Bingham Points 533

Je pense que la _sqlite3 import est un import interne et devrait être disponible dans votre installation standard de Python. Le fait qu'il soit manquant suggère un problème avec votre installation de Python (l'avez-vous compilé vous-même).

J'ai pu résoudre ce problème sur suse en m'assurant d'abord que l'option ncurses ont été installées et ensuite l'installation :

zypper install python-curses

Sur ubunti, je suppose que l'équivalent est (bien que je ne sois pas sûr que son absence donnerait la même erreur) :

sudo apt-get install libncursesw5-dev

(mes pré-requis de construction complète sont :

sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X