Je fais référence au tutoriel suivant pour créer une page de connexion pour mon application Web . http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net- 29982
J'ai un problème avec la base de données . Je reçois un
ImportError: No module named MySQLdb
quand j'exécute
http://127.0.0.1:5000/testdb
J'ai essayé tous les moyens possibles pour installer python mysql, celui mentionné dans le tutoriel, easy_install, Sudo apt-get install.
J'ai installé mysql dans mon env virtuel. La structure de mes répertoires est identique à celle expliquée dans le didacticiel. Le module est installé avec succès dans mon système et je reçois toujours cette erreur.
S'il vous plaît aider. Qu'est-ce qui peut causer cela.
Si vous rencontrez des problèmes pour compiler l'extension binaire, ou sur une plate-forme où vous ne pouvez pas vous permettre, vous pouvez essayer d'utiliser les liaisons python PyMySQL
pures.
Simplement pip install pymysql
et changez votre URI SQLAlchemy pour démarrer comme suit:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://.....'
Il existe certains autres pilotes vous pouvez également essayer.
Ou essayez ceci:
apt-get install python-mysqldb
Mon problème est:
return __import__('MySQLdb')
ImportError: No module named MySQLdb
et ma résolution:
pip install MySQL-python
yum install mysql-devel.x86_64
au tout début, je venais d'installer MySQL-python, mais le problème existait toujours. Donc, je pense que si ce problème se produisait, vous devriez également prendre en compte mysql-devel . J'espère que cela vous aidera.
J'ai eu ce problème lorsque je travaillais sur SQLAlchemy. Le dialecte par défaut utilisé par SQLAlchemy pour MySQL est mysql+mysqldb
.
engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
J'ai eu l'erreur "No module named MySQLdb
" lorsque la commande ci-dessus a été exécutée. Pour résoudre ce problème, j'ai installé le module mysql-python
et le problème a été résolu.
Sudo pip install mysql-python
peux tu essayer
pip install mysqlclient
Cela dépend aussi de la version Python de mon expérience.
Si vous utilisez Python 3, la réponse de @DazWorrall a bien fonctionné pour moi.
Cependant, si vous utilisez Python 2, vous devriez
Sudo pip install mysql-python
qui installerait le module 'MySQLdb' sans avoir à changer l'URI SQLAlchemy.
J'ai donc passé environ 5 heures à essayer de comprendre comment traiter ce problème lorsque j'essayais de courir.
./manage.py makemigrations
Avec Ubuntu Server LTS 16.1, une pile LAMP complète, Apache2 MySql 5.7 PHP 7 Python 3 et Django 1.10.2, j’ai vraiment eu du mal à trouver une bonne réponse à cette question. En fait, je ne suis toujours pas satisfait, mais la SEULE solution qui a fonctionné pour moi est la suivante ...
Sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev
suivi de (de l'intérieur de l'environnement virtuel)
pip install mysqlclient
Je n'aime vraiment pas avoir à utiliser des installations de développement lorsque j'essaie de configurer un nouveau serveur Web, mais malheureusement, cette configuration était le seul chemin la plus confortable que je pouvais prendre.
Bien que le réponse de @Edward van Kuik _ soit correct, il ne prend pas en compte un problème avec virtualenv v1.7 et supérieur .
En particulier, installer python-mysqldb
via apt
sur Ubuntu le place sous /usr/lib/pythonX.Y/dist-packages
, mais ce chemin n’est pas inclus par défaut dans le sys.path
de virtualenv.
Donc, pour résoudre ce problème , vous devez créer votre virtualenv avec des packages système en exécutant quelque chose comme:
virtualenv --system-site-packages .venv
yum install MySQL-python.x86_64
a travaillé pour moi.
Vous avez tellement d'erreurs liées aux autorisations et ce qui ne l'est pas. Vous pouvez essayer ceci:
xcode-select --install