web-dev-qa-db-fra.com

Connecteur MySQL / python ImportError: Aucun module nommé 'mysql'

Je suis très nouveau sur Ubuntu/Linux et Python il est donc tout à fait possible que je manque quelque chose d’évident ici. J'utilise Ubuntu 16.04 LTS, version serveur.

Je viens d'installer le connecteur officiel MySQL/python (2.1.7, version python3) en utilisant dpkg -i [package-name].deb (évidemment, j'ai remplacé [package-name] par le nom réel). Il est répertorié comme étant compatible avec Python 3.5, qui est la version que j'ai. Lorsque j'essaie de vérifier l'installation via l'interpréteur Python à l'aide de import mysql.connector, le message d'erreur suivant s'affiche:

 >>> import mysql.connector
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'mysql'

Sur une question similaire, je l'ai vu suggérer que le connecteur ne s'était peut-être pas installé correctement si python ne se trouvait pas dans le chemin. Je ne semblais pas avoir de problèmes lors de l'installation; le fichier python3 se trouve dans /usr/bin qui se trouve certainement dans le chemin, mais semble être un lien vers le fichier python3.5 au même endroit. L'exécution de la commande which python3 donne la sortie usr/bin/python3 mais l'exécution de which python ne donne aucune sortie.

Le paquet contenait apparemment aussi une bibliothèque C, qui semble s'être installée dans usr/lib/python3/dist-packages. Rien d’autre dans ce répertoire n’appelle rien de ce qui est lié à MySQL.

Que devrais-je rechercher pour savoir s'il s'agit d'un problème d'installation du connecteur ou de Python lui-même? Et comment puis-je résoudre ce problème?

5
purplecho

La solution consiste à installer le module Python 3 correspondant:

Sudo apt-get install python3-mysql.connector

Il corrige l'erreur import mysql.connector:

$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> 

Et similaire pour Python 2:

Sudo apt-get install python-mysql.connector

$ python2
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> 
9
N0rbert