ImportError: Kein Modul mit dem Namen 'MySQL'

76

Ich habe den Connector / Python für MySQL erfolgreich heruntergeladen. Ich habe den folgenden Code in Pythons Shell verwendet, um meine Verbindung zu testen:

import mysql.connector

Ich habe die folgende Fehlermeldung erhalten:

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    import mysql.connector
ImportError: No module named 'mysql'

Ich kann nicht herausfinden, warum MySQL nicht erkannt wird.

Melanie
quelle
1
Ist Python so konfiguriert, dass es sich in Ihrer PATH-Umgebungsvariablen befindet? Ich glaube, dass dies für eine ordnungsgemäße Installation notwendig ist.
Devmacrile
Auf welcher Plattform bist du? Windows?
Devmacrile
OS X, ich habe dies in meiner Shell getestet: print (get_python_lib ()) und es gab /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
Melanie
print(sys.path) ['/Users/Noah/Desktop/Melanie', '/Users/Noah/Documents', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']
Melanie
Sehen Sie den in diesem Verzeichnis installierten Connector? Führen Sie in Ihrer Python-Shell aus os.listdir("/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages"). Und which pythonwenn Sie im Terminal laufen, haben Sie auch diesen Weg?
Devmacrile

Antworten:

96

Ich stand vor einem ähnlichen Problem. Meine Umgebungsdetails - Python 2.7.11 pip 9.0.1 CentOS Release 5.11 (Final)

Fehler beim Python-Interpreter -

>>> import mysql.connector
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mysql.connector
>>>

Verwenden Sie pip, um das verfügbare Modul zu durchsuchen -

$ pip search mysql-connector | grep --color mysql-connector-python



mysql-connector-python-rf (2.2.2)        - MySQL driver written in Python
mysql-connector-python (2.0.4)           - MySQL driver written in Python

Installieren Sie den MySQL-Connector-Python-RF -

$ pip install mysql-connector-python-rf

Überprüfen

$ python
Python 2.7.11 (default, Apr 26 2016, 13:18:56)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>>

Danke =)

Verwenden Sie für Python3 und höher den nächsten Befehl: $ pip3 installiere mysql-connector-python-rf

Rishi
quelle
1
Vielen Dank für diesen Befehl "pip install mysql-connector-python-rf". Es hat mein Problem gelöst.
Ahmed Gad
13
pip install mysql-connectorwar genug für mich.
3.
1
Nennen Sie Ihr Python-Skript auch nicht "mysql.py" . Nur für den Fall.
Benji
Nur für den Fall, dass jemand so dumm ist wie ich, war für mich ein zusätzlicher Schritt erforderlich. Nachdem ich den Ratschlägen in dieser Antwort gefolgt war, musste ich den richtigen Python-Interpreter in der PyCharm-Ausführungskonfiguration auswählen (den innerhalb des Venv, auf dem ich alle Module installiert habe).
Sereschkin
Vielen Dank. pip search mysql-connector Das ist wirklich nützlich
Michael
32

Verwenden Sie pip3 install mysql-connector diese Option, um das verpackte Python zu installieren (wenn Sie Python 3 verwenden, können Sie Python 2 verwenden pip).

ilexcel
quelle
30

Kann einfach von cli installiert werden?

pip3 install mysql-connector-python-rf

Der Paketname unterscheidet sich vom Namen der Importbibliothek

Oder meine universelle Variante im Code:

import pip
pip.main(['install','mysql-connector-python-rf'])

Für die neue Version von pip:

from pip._internal import main
main(['install','mysql-connector-python-rf'])

Es ist besser - installieren Sie die benötigten Module, um die Python-Installation auszuführen (wenn viele)

Алексей Присяжный
quelle
Dies gibt mir einen langen, roten und beängstigenden Fehler. Die Antwort von @ ilexcel hat perfekt funktioniert.
Henrik
26

Der dumme Fehler, den ich gemacht hatte, war, mysql.pyin der gleichen Richtung zu bleiben. Versuchen Sie, mysql.pyin einen anderen Namen pythonumzubenennen, betrachten Sie dies also nicht als Modul.

Deepak Chauhan
quelle
Versuchen Sie, die Schlüsselwörter hervorzuheben, und geben Sie das Format an, mit dem Sie Ihre Antwort für andere erreichen können
Agilanbu,
1
Ich hatte den gleichen Fehler. Ich stimme für diese Antwort, weil mir das passiert ist. Mein Skript heißt mysql.py und ist anscheinend nicht erlaubt. Ich habe zu conecta.py gewechselt und es hat funktioniert.
Filipe
Verdammt! Dies sollte die akzeptierte Antwort sein! Vielen Dank!
Sebastian
Vielen Dank. Es hat mein Problem gelöst, bitte verwenden Sie nicht Ihren Dateinamen mysql.py
Zia
Dies funktionierte für mich, nachdem ich alle vorherigen Lösungen ausprobiert hatte. Thx
Jakub Ujvvary
19

Ich habe alle Antworten ausprobiert, aber nicht für mich gearbeitet. Es ist ein Problem mit der Python-Version. Am Ende wurde mir klar, dass Python 3-Skripte zumindest unter Ubuntu 18 einen expliziten Pip-Befehl für Python 3 benötigen.

python3 -m pip install mysql-connector
Mohannd
quelle
4

Probieren Sie das aus

sudo wget http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz

gunzip mysql-connector-python-2.1.3.tar.gz

tar xf mysql-connector-python-2.1.3.tar

cd mysql-connector-python-2.1.3

sudo python3 setup.py install
gdxn96
quelle
3

Nur eine Anmerkung, ich habe gerade MySQL auf einem Ubuntu 16.04 Server installiert. Ich habe verschiedene Optionen in der folgenden Reihenfolge ausprobiert:

  • Verwenden des Pakets aus dem Repository sudo apt-get install python-mysqldb: Wurde korrekt installiert, aber leider wurde Python zurückgegebenImportError: No module named 'mysql'
  • mit dem Ubuntu-Paket von MySQL : wget http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python_2.1.4-1ubuntu16.04_all.deb. Richtig installiert mit sudo dpckg -i package_name, aber Python hat den gleichen Fehler zurückgegeben.
  • Die Verwendung der Datei tar.gz, die Installation mit Python, funktionierte einwandfrei.
    • wget http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.6.tar.gz (verwendet 2.1.4 zu diesem Zeitpunkt)
    • tar -xf mysql-connector-python-2.1.6.tar.gz
    • cd mysql-connector-python-2.1.6/
    • sudo python3 setup.py install

Ich habe nicht untersucht, warum die ersten beiden fehlgeschlagen sind, könnte es später versuchen. Hoffe das hilft jemandem.

Nihilis
quelle
Cristian - danke dafür, können Sie die Lösung (ich glaube die tar.gz-Datei) erläutern, die für Sie funktioniert hat? Ich habe das gleiche Problem, aber Ihre dritte Option enthält nur wenige Details. Vielen Dank!
elPastor
Entschuldigung, ich habe gerade Ihren Kommentar gelesen. Ich habe den Arbeitsplatz verlassen, an dem ich das getan habe. Habe einen kurzen Test auf einer VM gemacht, die zu funktionieren schien, siehe die aktualisierte Antwort.
Nihilis
2

Ich fand, dass die @ gdxn96-Lösung für mich funktionierte, aber mit 1 Änderung.

sudo wget http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz
tar -zxvf mysql-connector-python-2.1.3.tar
cd mysql-connector-python-2.1.3
sudo python3 setup.py install
Spac3
quelle
2

Sie müssen anaconda verwenden, um Abhängigkeiten der Python-Umgebung zu verwalten. Der MySQL-Connector kann mit dem conda installer installiert werden

conda install -c anaconda mysql-connector-python
Akshat Thakar
quelle
Anaconda ist ein anerkannter Python-Abhängigkeitsmanager. Bitte kommentieren Sie, wenn es nicht wahr ist.
Akshat Thakar
2
sudo python3 -m pip install mysql-connector-python
NemboKid
quelle
1

Ich habe einen anderen Grund gefunden: Wenn der Pfad Ihrer Programmdatei Leerzeichen oder Sonderzeichen enthält, wird dieser Fehler angezeigt.

Gábor Soós
quelle
1

Dieses Problem war eine Plage für mich !!! Die 100% ige Lösung besteht darin, die Verwendung des MySQL-Moduls zu vergessen: Importieren Sie mysql.connector und verwenden Sie stattdessen pymysql über den Import von pymysql. Ich habe es über die Anweisungen installiert: python3 -m pip install PyMySQL

Folgende Änderungen wurden vorgenommen: 1. Importanweisung 2. Der Konnektor 3. Der Cursor

Danach funktionierte alles wie ein Zauber. Hoffe das hilft!

Herr B7
quelle
Können Sie bitte die von Ihnen vorgenommenen Änderungen auflisten?
Rahatur
Ich war mit OpenSUSE Leap fest. Dies ist eine sehr schnelle und sichere Problemumgehung. Arbeitete von mir.
Rahatur
0

Sie müssen einen der folgenden Befehle verwenden. Welches davon abhängt, welches Betriebssystem und welche Software Sie haben und verwenden.

sudo easy_install mysql-python (mix os)
sudo pip install mysql-python (mix os)
sudo apt-get install python-mysqldb (Linux Ubuntu, ...)
cd /usr/ports/databases/py-MySQLdb && make install clean (FreeBSD)
yum install MySQL-python (Linux Fedora, CentOS ...)
Ashish Gupta
quelle
0

Ich habe gerade den Quellordner connectorvon Ordner mysqlzu Ordner verschoben site-packages. Und Rennimport connector

Горыныч
quelle
0

Für 64-Bit-Fenster

Mit dem Rad einbauen

pip install wheel download from http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

Für Python 3.x:

pip install mysqlclient-xxxxxxxxx-win_amd64.whl

Für Python 2.7:

pip install mysqlclient-xxxxxxxxx-win_amd64.whl
Ashish Gupta
quelle
0

Mein Projekt wurde verwendet pipenv. Der folgende Befehl hat bei mir funktioniert:

pipenv install mysql-connector-python
Haris ur Rehman
quelle