Ich beziehe mich auf das folgende Tutorial, um eine Anmeldeseite für meine Webanwendung zu erstellen. http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982
Ich habe ein Problem mit der Datenbank. Ich bekomme eine
ImportError: No module named MySQLdb
wenn ich ausführe
http://127.0.0.1:5000/testdb
Ich habe alle möglichen Möglichkeiten ausprobiert, um Python MySQL zu installieren, die im Tutorial easy_install, sudo apt-get install erwähnt wird.
Ich habe MySQL in meiner virtuellen Umgebung installiert. Meine Verzeichnisstruktur entspricht genau der im Tutorial erläuterten. Das Modul wurde erfolgreich in meinem System installiert und ich erhalte immer noch diesen Fehler.
Bitte helfen Sie. Was könnte das verursachen?
python
mysql
flask
sqlalchemy
mysql-python
user3182194
quelle
quelle
Antworten:
Wenn Sie Probleme beim Kompilieren der Binärerweiterung haben oder auf einer Plattform, auf der Sie nicht können, können Sie versuchen, die reinen Python-
PyMySQL
Bindungen zu verwenden.pip install pymysql
Schalten Sie einfach Ihren SQLAlchemy-URI so um, dass er wie folgt beginnt:Es gibt einige andere Treiber, die Sie ebenfalls ausprobieren können.
quelle
pip install MySQL-python
gearbeitet.Oder versuchen Sie Folgendes:
quelle
sudo apt-get install python-mysqldb
darfst du es versuchen
quelle
mysqlclient
(OSError: mysql_config not found
), als ich versuchte, dieselbe App unter Ubuntu auszuführen. Die akzeptierte Antwort hat es gelöst.Mein Problem ist:
und mein Vorsatz:
Ganz am Anfang habe ich gerade MySQL-Python installiert, aber das Problem bestand immer noch. Wenn dieses Problem auftritt, sollten Sie auch mysql-devel berücksichtigen. Hoffe das hilft.
quelle
pip install MySQL-python
Ja, das ist das TicketIch habe dieses Problem bekommen, als ich an SQLAlchemy gearbeitet habe. Der von SQLAlchemy für MySQL verwendete Standarddialekt ist
mysql+mysqldb
.Ich habe den
No module named MySQLdb
Fehler " " erhalten, als der obige Befehl ausgeführt wurde. Ummysql-python
das Problem zu beheben, habe ich das Modul installiert und das Problem wurde behoben.quelle
Es hängt meiner Erfahrung nach auch von der Python-Version ab.
Wenn Sie Python 3 verwenden, hat die Antwort von @DazWorrall für mich gut funktioniert.
Wenn Sie jedoch Python 2 verwenden, sollten Sie dies tun
Dies würde das 'MySQLdb'-Modul installieren, ohne den SQLAlchemy-URI ändern zu müssen.
quelle
Ich habe ungefähr 5 Stunden damit verbracht, herauszufinden, wie ich mit diesem Problem umgehen soll, wenn ich versuche, es auszuführen
Mit Ubuntu Server LTS 16.1, einem vollständigen LAMP-Stack, Apache2 MySql 5.7 PHP 7 Python 3 und Django 1.10.2 hatte ich wirklich Mühe, eine gute Antwort darauf zu finden. Tatsächlich bin ich immer noch nicht zufrieden, aber die EINZIGE Lösung, die für mich funktioniert hat, ist diese ...
gefolgt von (aus der virtuellen Umgebung)
Ich mag es wirklich nicht, Dev-Installationen verwenden zu müssen, wenn ich versuche, einen neuen Webserver einzurichten, aber leider war diese Konfiguration der einzig bequeme Weg, den ich einschlagen konnte.
quelle
Während @Edward van Kuik ‚s Antwort richtig ist, dauert es nicht berücksichtigt ein Problem mit virtualenv v1.7 und höher .
Insbesondere bei der Installation
python-mysqldb
überapt
Ubuntu wird es unter gestellt/usr/lib/pythonX.Y/dist-packages
, aber dieser Pfad ist standardmäßig nicht in den virtuellen Umgebungen enthaltensys.path
.Also dieses Problem zu beheben , sollten Sie Ihre virtualenv mit Systempakete erstellen , indem Sie wie etwas ausgeführt wird :
virtualenv --system-site-packages .venv
quelle
Ich habe so viele Fehler im Zusammenhang mit Berechtigungen und was nicht. Sie können dies versuchen:
quelle
arbeitete für mich.
quelle
In Ubuntu 20 können Sie Folgendes versuchen:
quelle