Ich verweise auf das folgende Tutorial, um eine Anmeldeseite für meine Webanwendung zu erstellen . http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-und-out--net- 29982
Ich habe ein Problem mit der Datenbank ... Ich bekomme eine
ImportError: No module named MySQLdb
wenn ich ausführen
http://127.0.0.1:5000/testdb
Ich habe alle möglichen Möglichkeiten ausprobiert, um python mysql zu installieren, den im Tutorial genannten easy_install, Sudo apt-get install.
Ich habe Mysql in meiner virtuellen Umgebung installiert. Meine Verzeichnisstruktur ist genauso wie im Tutorial erklärt. Das Modul wurde erfolgreich in meinem System installiert und ich bekomme immer noch diesen Fehler.
Bitte helfen Was könnte das verursachen?.
Wenn Sie Probleme beim Kompilieren der binären Erweiterung haben oder auf einer Plattform, auf der Sie nicht kippen können, können Sie die reinen Python PyMySQL
Bindings verwenden.
Einfach pip install pymysql
und wechseln Sie Ihren SQLAlchemy-URI, um so zu beginnen:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://.....'
Es gibt einige andere Treiber , die Sie auch versuchen könnten.
Oder probiere es aus:
apt-get install python-mysqldb
Mein Thema ist:
return __import__('MySQLdb')
ImportError: No module named MySQLdb
und meine Entschlossenheit:
pip install MySQL-python
yum install mysql-devel.x86_64
am Anfang habe ich gerade MySQL-Python installiert, aber das Problem bestand immer noch. Ich denke, wenn dieses Problem aufgetreten ist, sollten Sie auch mysql-devel in Betracht ziehen. Hoffe, das hilft.
Ich habe dieses Problem erhalten, als ich an SQLAlchemy arbeitete. Der Standarddialekt, den SQLAlchemy für MySQL verwendet, ist mysql+mysqldb
.
engine = create_engine('mysql+mysqldb://scott:[email protected]/foo')
Ich habe die Fehlermeldung "No module named MySQLdb
" erhalten, als der obige Befehl ausgeführt wurde. Um das Problem zu beheben, habe ich das mysql-python
-Modul installiert und das Problem wurde behoben.
Sudo pip install mysql-python
kannst du es versuchen
pip install mysqlclient
Das hängt auch von meiner Python-Version ab.
Wenn Sie Python 3 verwenden, hat die @DazWorrall-Antwort für mich gut funktioniert.
Wenn Sie jedoch Python 2 verwenden, sollten Sie dies tun
Sudo pip install mysql-python
dies würde das Modul 'MySQLdb' installieren, ohne den SQLAlchemy-URI ändern zu müssen.
Also habe ich ungefähr fünf Stunden damit verbracht, herauszufinden, wie ich mit diesem Problem umgehen sollte, wenn ich renne
./manage.py makemigrations
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 Probleme, 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 ...
Sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev
gefolgt von (innerhalb der virtuellen Umgebung)
pip install mysqlclient
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 bequemste Weg, den ich nehmen konnte.
Obwohl @ Edward van Kuik 's Antwort korrekt ist, berücksichtigt es nicht Problem mit virtualenv v1.7 und höher .
Insbesondere das Installieren von python-mysqldb
Über apt
unter Ubuntu unter /usr/lib/pythonX.Y/dist-packages
, Aber dieser Pfad ist standardmäßig nicht in sys.path
Der virtuellen Umgebung enthalten.
Also m dieses Problem zu lösen , sollten Sie Ihre virtuelle Umgebung mit Systempaketen erstellen, indem Sie Folgendes ausführen:
virtualenv --system-site-packages .venv
yum install MySQL-python.x86_64
arbeitete für mich.
Ich habe so viele Fehler im Zusammenhang mit Berechtigungen und was nicht. Sie können dies versuchen:
xcode-select --install