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?
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
>>>