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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top