AttributeError: module 'mysql' has no attribute 'connector'
AttributeError: module 'mysql' has no attribute 'connector'
我是 运行 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'
我通过下载包 here 安装了 mysql python 模块。我试过 sudo apt-get install python-mysql.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
是在 __init__
中导入的,这可以隐式工作:from . import connector
.
在 import mysql.connector
并检查权限后,我仍然遇到同样的错误。我是 运行 我在 MacOS 上使用 bash 的脚本。在寻找解决方案数小时后,在 mysql 论坛上遇到了这个 post:https://forums.mysql.com/read.php?50,584171,584729#msg-584729
poster提到你的python脚本不能命名为mysql.py
我的脚本被命名为types.py
,所以我将它重命名为setup-types.py
] 这解决了我的问题。希望这可以在处理同样的错误时为其他人节省一些时间。
再观察一次。在许多教程中,他们没有以相同的方式安装 python 连接器。在那些时候,导入语句可能是问题的原因。试试下面的导入语句。
import mysql.connector as mysql
问题是我创建了一个名为“select.py”的脚本,我将其重命名并再次运行。
我是 运行 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'
我通过下载包 here 安装了 mysql python 模块。我试过 sudo apt-get install python-mysql.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
是在 __init__
中导入的,这可以隐式工作:from . import connector
.
在 import mysql.connector
并检查权限后,我仍然遇到同样的错误。我是 运行 我在 MacOS 上使用 bash 的脚本。在寻找解决方案数小时后,在 mysql 论坛上遇到了这个 post:https://forums.mysql.com/read.php?50,584171,584729#msg-584729
poster提到你的python脚本不能命名为mysql.py
我的脚本被命名为types.py
,所以我将它重命名为setup-types.py
] 这解决了我的问题。希望这可以在处理同样的错误时为其他人节省一些时间。
再观察一次。在许多教程中,他们没有以相同的方式安装 python 连接器。在那些时候,导入语句可能是问题的原因。试试下面的导入语句。
import mysql.connector as mysql
问题是我创建了一个名为“select.py”的脚本,我将其重命名并再次运行。