So greifen Sie mit Python 2.7.8 und Sublime Text 3 unter OS X 10.9 auf den MySQL Python Connector zu
-
20-12-2019 - |
Frage
Ich versuche MySQL so einzurichten, dass es mit Python 2.7.8 und Sublime Text 3 unter OS X 10.9 funktioniert, also habe ich den MySQL-Python-Connector installiert.Immer wenn ich versuche, „import mysql.connector“ auszuführen, erhalte ich „ImportError:Kein Modul mit dem Namen „Connector“.
Wie muss das konfiguriert werden, damit ich über den Connector auf MySQL zugreifen kann?
Einzelheiten:
-Sublime wird unter Anwendungen installiert
-Sublime Text 3 verwendet standardmäßig Python 3, daher musste ich ein Python 2.7-Build-System einrichten.Hier ist mein Code für dieses System:
"cmd": ["/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python2"
-Python ist installiert unter
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7
-Die ausführbare MySQL-Datei ist unter installiert
/usr/local/mysql-5.6.19-osx10.7-x86_64/bin
-Der Connector verfügt über einen Symlink unter
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mysql/connector
und ist vollständig installiert
/usr/local/lib/python2.7/site-packages/mysql/connector
Darüber hinaus habe ich Folgendes zu .bash_profile hinzugefügt, um die erforderlichen Verzeichnisse zum Pfad hinzuzufügen.
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
# trying to get mysql access
PATH = "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:${PATH}"
export PATH
Ich bin mir sicher, dass mir etwas Einfaches fehlt, aber das ist das erste Mal, dass ich so viel einrichte, und ich habe viel zu viele Stunden damit verbracht, zu googeln und herauszufinden, was ich falsch mache.Hat jemand eine Idee, was ich ändern muss, um auf das Anschlussmodul zugreifen zu können?Dank im Voraus.
Lösung
Python verwendet die Shell nicht $PATH
Variable, um importierbare Module zu finden, verwendet sie eine Liste namens sys.path
in Python.Wenn Sie Ihren Dolmetscher ausführen und ausdrucken sys.path
Daraus sollten Sie erkennen, dass die site-packages
Das Verzeichnis wird bereits durchsucht.Sie können die Aufnahme weiterer Verzeichnisse anfordern sys.path
vor der Programmausführung, indem Sie sie dem hinzufügen $PYTHONPATH
Shell-Umgebungsvariable.
Aus der Struktur geht hervor, dass mysql
ist ein Paket mit connector
Da es sich um ein Unterpaket handelt, vermute ich, dass Sie den symbolischen Link um ein Verzeichnis höher machen müssen (d.h. zum mysql
Verzeichnis), um das Notwendige abzuholen __init__.py
Dadurch wird es als Paket erkannt.
Im Allgemeinen ist es eine gute Idee, die Verwendung zu erlernen pip
Module und Pakete in sogenannten virtuellen Umgebungen zu installieren.Es ermöglicht Ihnen beispielsweise, dass verschiedene Programme unterschiedliche Versionen desselben Moduls verwenden.