본문 바로가기
MySql

MySQL AttributeError: module 'mysql' has no attribute 'connector'

by 베이스 공부 2020. 10. 24.
반응형

Ubuntu 16.04를 실행 중이며 Python에서 mysql에 연결하려고합니다.

    import mysql
    username = 'root'

    cnx = mysql.connector.connect(user=username, database='db')
    cnx.close()

하지만 오류가 발생합니다.

    File "pysql1.py", line 4, in <module>
      cnx = mysql.connector.connect(user=username, database='db')
    AttributeError: module 'mysql' has no attribute 'connector'


편집 : import mysql.connector 를 추가 한 후 지금 해결 한 관련없는 권한 오류가 발생했습니다.

 

해결 방법

 

해결책은 다음을 실행하는 것입니다.

import mysql.connector # or from mysql import connector

모듈 connector 는 명시 적으로 가져올 때만 사용할 수 있기 때문입니다.

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

mysql 모듈의 __ init __ 파일은 connector 모듈을 가져 오지 않습니다.

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

connector from. 가져 오기 커넥터 .

 

참조 페이지 https://stackoverflow.com/questions/46503776

 

 

반응형

댓글