La solution est d'exécuter :
import mysql.connector # or from mysql import connector
Parce que le module connector
n'est disponible que lorsque vous l'importez explicitement :
import mysql
print(dir(mysql))
>>> ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__',
'__package__', '__path__', '__spec__']
import mysql.connector
print(dir(mysql))
>>> ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__',
'__package__', '__path__', '__spec__', 'connector']
Le __init__
fichier dans le module mysql
n'importe pas le module connector
.
mysql
|_______ __init__.py # no import at this level
|_______ connector
|________ __init__.py
Cela pourrait fonctionner implicitement si connector
a été importé dans __init__
avec :from . import connector
.