2010-09-15 45 views
0

我正在运行一个通过Django作为单独线程调用的Web爬虫。当它尝试存储刮取的信息时,出现此错误:只有在Django中运行才会出现mySQL接口错误

文件“/usr/lib/pymodules/python2.6/MySQLdb/cursors.py”,第147行,执行 charset = db.character_set_name() InterfaceError:(0,'')

如果我从命令行手动运行脚本,我不会收到此错误。有任何想法吗?

我的猜测是我在循环的一次迭代中做了大约4次cursor.execute()。这可能会抛出一些东西吗?

谢谢!

回答

0

既然它提到了字符集,我的直觉说你从命令行运行的是不同于Django/Python /的东西。在您的设置文件中,打开DEBUG=True,重新启动服务器,然后再次运行。特别是,看看所显示的路径列表。如果他们不是刚好你期望他们是什么,那么这是一个红旗。

+0

这怎么可能是正确答案? – markuz 2012-02-29 07:09:20

+0

@markuz:真的吗? 1。5年后,你突然想到这个答案,OP确定的答案是*正确*答案,有点不对?您与生产Django网站合作多久了?你有多少次成功地处理“在一个环境中工作但不在另一个”类型的错误? – 2012-02-29 07:22:05

0

我面临同样的问题。对我来说,问题是

from django.db import connections 
cursor=connections["default"].cursor() 

在某些其他脚本文件中。

当我移动我在那里执行查询的方法内这条线,它解决了问题

cursor=connections["default"].cursor() 

对我来说,学习是连接不上我以前的做法保持。

相关问题