pla*_*y69 7 python mysql mysql-python ubuntu-16.04
我正在运行Ubuntu 16.04,试图在python中连接到mysql:
import mysql
username = 'root'
cnx = mysql.connector.connect(user=username, database='db')
cnx.close()
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误:
File "pysql1.py", line 4, in <module>
cnx = mysql.connector.connect(user=username, database='db')
AttributeError: module 'mysql' has no attribute 'connector'
Run Code Online (Sandbox Code Playgroud)
我在这里下载了软件包,安装了mysql python模块.我试着sudo apt-get install python-mysql.connector无济于事.有什么指针吗?
编辑:添加后import mysql.connector我得到了一个无关的权限错误,我现在已经解决了,所以这就是我需要的东西!
解决方案是执行:
import mysql.connector # or from mysql import connector
Run Code Online (Sandbox Code Playgroud)
因为该模块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']
Run Code Online (Sandbox Code Playgroud)
__init__模块mysql中的文件不会导入模块connector.
mysql
|_______ __init__.py # no import at this level
|_______ connector
|________ __init__.py
Run Code Online (Sandbox Code Playgroud)
如果用以下内容connector导入,这可以隐式工作__init__:from . import connector.
小智 6
在import mysql.connector检查权限之后,我仍然遇到相同的错误。我在 MacOS 上使用 bash 运行我的脚本。经过几个小时的寻找解决方案,在mysql论坛上看到了这篇文章:https : //forums.mysql.com/read.php? 50,584171,584729#msg- 584729
海报提到你的python脚本不能命名mysql.py我的脚本被命名types.py,所以我将它重命名为setup-types.py,解决了我的问题。希望这可以在处理同样的错误时为其他人节省一些时间。
如果您已安装 mysql-connector和mysql-connector-python:
如果您的文件名为mysql.py或select.py,请重命名它。
| 归档时间: |
|
| 查看次数: |
7943 次 |
| 最近记录: |