De oplossing is om uit te voeren:
import mysql.connector # or from mysql import connector
Omdat de module connector
is alleen beschikbaar als je het expliciet importeert :
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']
De __init__
bestand in de module mysql
importeert de module connector
niet .
mysql
|_______ __init__.py # no import at this level
|_______ connector
|________ __init__.py
Dit zou impliciet kunnen werken als connector
is geïmporteerd in __init__
met :from . import connector
.