Mysql
 sql >> Database >  >> RDS >> Mysql

AttributeError:il modulo 'mysql' non ha l'attributo 'connettore'

La soluzione è eseguire :

import mysql.connector # or from mysql import connector

Perché il modulo connector è disponibile solo quando lo importi esplicitamente :

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']

Il __init__ file nel modulo mysql non importa il modulo connector .

mysql
|_______ __init__.py # no import at this level
|_______ connector
         |________ __init__.py

Questo potrebbe funzionare in modo implicito se connector è stato importato all'interno di __init__ con :from . import connector .