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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top