在 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 应用程序

azure ubuntu 16.04 VM 无法连接到 azure 上的数据库

Pycharm 无法连接到控制台进程退出代码 -1 远程解释器