当Trac尝试“导入MySQLdb”但失败时,应该会出现该错误.您确实拥有应该提供该模块的正确软件包,但由于某种原因它失败了.要找出原因,您应该查看Trac运行的环境.它是否使用除/usr/bin/python2.6之外的Python?是否设置了$PYTHONPATH?
您可能还想尝试直接导入MySQLdb:
/usr/bin/python2.6 -c 'import MySQLdb'
如果可以按预期加载包,则应该没有输出.
最后,这可能没有关系,但你知道不再支持Maverick,对吧?它不会从Ubuntu获得任何安全更新或其他支持.
编辑:
python2.6导入工作正常,因此我们需要仔细研究trac环境.一种方法是编辑db / mysql_backend.py文件并插入一些调试信息. (如果这是一个操作系统打包的安装,你应该在/usr/lib/python2.6/dist-packages/trac/下找到该文件;否则,你可能知道你把它放在哪里).让我们尝试更改MySQLConnector.get_supported_schemes()方法,因为我不确定将在哪里显示普通打印件.
def get_supported_schemes(self):
if not has_mysqldb:
import sys
self.error = "Cannot load Python bindings for MySQL. sys.path = %r, sys.executable = %r" \
% (sys.path, sys.executable)
yield ('mysql', -1 if self.error else 1)