在Ubuntu中使用Python连接到MySQL(奇怪的错误)

时间:2011-10-30 02:58:12

标签: python mysql ubuntu lamp mysql-python

我正在使用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 ()

错误是:

  

追踪(最近一次通话):    文件“server_version.py”,第10行,in      db =“testdb1”)

     

文件“/usr/lib/pymodules/python2.6/MySQLdb/init.py”,第81行,在Connect中      return Connection(* 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行,in      导入副本为_copy

     

文件“/home/browning/copy.py”,第4行,

     

ValueError:解包需要多于1个值

这里只是试图获得一些使用python数据库的基本经验,所以如果有更好的选择,我就不会设置MySQL。我试图使用apt-get和pip多次重新安装mysqldb。

1 个答案:

答案 0 :(得分:3)

看起来你有一个名为copy.py的文件而不是Python标准库模块copy。重命名或删除您的文件(如果已创建,则为copy.pyc)。或者从不同的目录运行。