在 Ubuntu 中使用 Python 连接到 MySQL(奇怪的错误)
Posted
技术标签:
【中文标题】在 Ubuntu 中使用 Python 连接到 MySQL(奇怪的错误)【英文标题】:Connecting to MySQL with Python in Ubuntu (Weird Error) 【发布时间】:2011-12-18 02:05:22 【问题描述】:我使用的是 ubuntu 10.10,并且在安装 LAMP 时出错(无法使用它连接到数据库),我来到这里并阅读了使用 apt-get install python-mysqldb 的重要性.删除了 LAMP,使用 apt-get 重新安装,现在尝试运行基本 server_version.py 脚本时出现相同的错误。
脚本是在此处找到的 server_version.py:http://www.kitebird.com/articles/pydbapi.html
我的 server_version.py 脚本:
# server_version.py - retrieve and display database server version
import MySQLdb
# I have also tried setting host = 'localhost'
conn = MySQLdb.connect (host = "/opt/lampp/var/mysql/mysql.sock",
user = "root",
passwd = "myrealpass",
db = "testdb1")
cursor = conn.cursor ()
cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]
cursor.close ()
conn.close ()
错误是:
Traceback(最近一次调用最后一次): 文件“server_version.py”,第 10 行,在 db = "testdb1")
文件“/usr/lib/pymodules/python2.6/MySQLdb/init.py”,第 81 行,在 Connect 中 返回连接(*args, **kwargs)
文件“/usr/lib/pymodules/python2.6/MySQLdb/connections.py”,第 129 行,在 init 中 从转换器导入转换
文件“/usr/lib/pymodules/python2.6/MySQLdb/converters.py”,第 165 行,在 从十进制导入十进制
文件“/usr/lib/python2.6/decimal.py”,第 137 行,在 将副本导入为_copy
文件“/home/browning/copy.py”,第 4 行,在
ValueError: 需要超过 1 个值才能解压
只是想在这里获得一些使用带有 python 的数据库的基本经验,所以如果有更好的选择,我不会使用 MySQL。我曾尝试使用 apt-get 和 pip 多次重新安装 mysqldb。
【问题讨论】:
【参考方案1】:看起来您有一个名为 copy.py
的文件正在被拾取,而不是 Python 标准库模块 copy
。重命名或删除您的文件(以及 copy.pyc
,如果它已创建)。或者从不同的目录运行。
【讨论】:
感谢内德,成功了!我会支持你,但我还没有完全达到分数阈值。以上是关于在 Ubuntu 中使用 Python 连接到 MySQL(奇怪的错误)的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Docker 容器中的 python 脚本连接到 Ubuntu 上的本地 SQL 服务器
python ubuntu使用pyodbc连接到mssql服务器
使用 Python 3.6 和 pymssql 连接到 Sybase 数据库
无法使用 Ubuntu 连接到在 Wine 中部署的 MySQL for .NET 应用程序