Come accedere a MySQL Python Connector con Python 2.7.8 e Sublime Text 3 su OS X 10.9
-
20-12-2019 - |
Domanda
Sto cercando di configurare MySQL per funzionare con Python 2.7.8 e Sublime Text 3 su OS X 10.9, quindi ho installato il connettore Python MySQL.Ogni volta che provo a eseguire "import mysql.connector", ottengo "ImportError:Nessun modulo denominato connettore".
Come dovrebbe essere configurato in modo da poter utilizzare il connettore per accedere a MySQL?
Dettagli:
-Sublime è installato in Applicazioni
-Sublime Text 3 utilizza Python 3 come predefinito, quindi ho dovuto impostare un sistema di compilazione Python 2.7.Ecco il mio codice per questo sistema:
"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 è installato su
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7
-L'eseguibile MySQL è installato su
/usr/local/mysql-5.6.19-osx10.7-x86_64/bin
-Il connettore ha un collegamento simbolico all'indirizzo
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mysql/connector
ed è installato completamente a
/usr/local/lib/python2.7/site-packages/mysql/connector
Inoltre, ho aggiunto quanto segue a .bash_profile per aggiungere le directory necessarie al percorso.
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
Sono sicuro che mi sto perdendo qualcosa di semplice, ma questa è la prima volta che configuro una cosa del genere e ho passato troppe ore a cercare su Google e cercare di scoprire cosa sto facendo di sbagliato.Qualcuno ha un'idea di cosa devo modificare per accedere al modulo connettore?Grazie in anticipo.
Soluzione
Python non usa la shell $PATH
variabile per individuare i moduli importabili, utilizza un elenco chiamato sys.path
in Pitone.Se esegui l'interprete e stampi sys.path
da esso dovresti vedere che il site-packages
la directory è già in fase di ricerca.È possibile richiedere l'aggiunta di ulteriori directory sys.path
prima dell'esecuzione del programma aggiungendoli al file $PYTHONPATH
variabile d'ambiente della shell.
Dalla struttura risulta che mysql
è un pacchetto con connector
essendo un sottopacchetto, e immagino che tu debba rendere il collegamento simbolico una directory più in alto (cioè. al mysql
directory) per prelevare il necessario __init__.py
ciò farà sì che venga riconosciuto come un pacchetto.
In generale è una buona idea imparare ad usarlo pip
per installare moduli e pacchetti nei cosiddetti ambienti virtuali.ti consente (ad esempio) di fare in modo che programmi diversi utilizzino versioni diverse dello stesso modulo.