Comment accéder au connecteur MySQL Python avec Python 2.7.8 et Sublime Text 3 sur OS X 10.9
-
20-12-2019 - |
Question
J'essaie de configurer MySQL pour qu'il fonctionne avec python 2.7.8 et Sublime Text 3 sur OS X 10.9, j'ai donc installé le connecteur Python MySQL.Chaque fois que j'essaie d'exécuter "import mysql.connector", je reçois "ImportError :Aucun module nommé connecteur".
Comment cela doit-il être configuré pour que je puisse utiliser le connecteur pour accéder à MySQL ?
Détails:
-Sublime est installé sous Applications
-Sublime Text 3 utilise Python 3 par défaut, j'ai donc dû configurer un système de construction Python 2.7.Voici mon code pour ce système :
"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 est installé à
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7
-L'exécutable MySQL est installé sur
/usr/local/mysql-5.6.19-osx10.7-x86_64/bin
-Le connecteur a un lien symbolique à
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mysql/connector
et est entièrement installé à
/usr/local/lib/python2.7/site-packages/mysql/connector
De plus, j'ai ajouté ce qui suit à .bash_profile pour ajouter les répertoires nécessaires au chemin.
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
Je suis sûr qu'il me manque quelque chose de simple, mais c'est la première fois que je configure autant, et j'ai passé beaucoup trop d'heures à chercher sur Google et à essayer de découvrir ce que je fais de mal.Quelqu'un a-t-il une idée de ce que je dois modifier pour accéder au module de connecteur ?Merci d'avance.
La solution
Python n'utilise pas le shell $PATH
variable pour localiser les modules importables, elle utilise une liste appelée sys.path
en Python.Si vous lancez votre interprète et imprimez sys.path
à partir de là, vous devriez voir que le site-packages
le répertoire est déjà en cours de recherche.Vous pouvez demander que d'autres répertoires soient ajoutés à sys.path
avant l'exécution du programme en les ajoutant au $PYTHONPATH
variable d'environnement shell.
Il ressort de la structure que mysql
est un paquet avec connector
étant un sous-package, et je suppose que vous devez créer le lien symbolique d'un répertoire plus haut (c'est à dire. au mysql
répertoire) pour récupérer les éléments nécessaires __init__.py
cela le fera être reconnu comme un package.
En général, c'est une bonne idée d'apprendre à utiliser pip
pour installer des modules et des packages dans des environnements dits virtuels.cela vous permet (par exemple) de faire en sorte que différents programmes utilisent différentes versions du même module.