Ubuntu中的Python-MySQLdb错误

时间:2011-10-24 15:38:44

标签: python ubuntu mysql-python

我正在尝试在Ubuntu中设置环境(从中转移 MS-Windows上)。 当然,它有Python 2.6。 我确实从'Ubuntu软件中心'设置了MySQL 5512和MySQLdb。

    import dabo
    import MySQLdb

工作正常。没错。

但是在建立连接时,却表示存在不匹配 MySQLdb&的版本_mysql。

    ImportError: this is MySQLdb version (1, 2, 3, 'gamma', 1), but _mysql
    is version (1, 2, 2, 'final', 0)

我该如何解决这个问题?

完成追溯---->

   Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "dabovmd/hotel.py", line 4, in <module>
   empconn = dabo.db.dConnection(empci)
   File "dabo/db/dConnection.py", line 32, in __init__
   self._connection = self._openConnection(**kwargs)
   File "dabo/db/dConnection.py", line 80, in _openConnection
   return
   self._connectInfo.getConnection(forceCreate=self._forceCreate, **kwargs)
   File "dabo/db/dConnectInfo.py", line 105, in getConnection
   return self._backendObject.getConnection(self, **kwargs)
   File "dabo/db/dbMySQL.py", line 25, in getConnection
   import MySQLdb as dbapi
   File "/media/pyth/python26/Lib/site-packages/MySQLdb/__init__.py",
   line 23, in <module>
   (version_info, _mysql.version_info))
   ImportError: this is MySQLdb version (1, 2, 3, 'gamma', 1), but _mysql
   is version (1, 2, 2, 'final', 0)

提前致谢,

维尼特

4 个答案:

答案 0 :(得分:1)

这似乎是MySQL服务器和python-mysqldb之间的版本不匹配。

您使用的是哪个版本的Ubuntu? (如果您最近转移过,请尝试使用Ubuntu 11.04。)

解决问题的最简单方法是将ubuntu更新为至少11.04,然后安装匹配版本的mysql-server和python-mysqldb。

我使用的是Ubuntu 11.04,我的mysql-server版本是5.1.54-1ubuntu4,我的python-mysqldb版本是1.2.2-10build2。

希望这有帮助

答案 1 :(得分:1)

这可能不适合您的需求,但我发现MySQL Connector/Python比MySQLdb更容易设置。它完全用Python实现,因此它不关心C接口库。

此解决方案有几个缺点。它应该更慢。更重要的是,在你的情况下,我对Dabo一无所知,所以我不知道是否可以在不同的MySQL界面中进行操作。

答案 2 :(得分:1)

似乎apt-get和pip中的每一个都安装了自己的库版本。 尝试使用sudo apt-get remove python-mysqldb删除系统mysql,然后 你应该有这样的东西:

Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: python-mysqldb 0 upgraded, 0 newly installed, 1 to remove and 3 not upgraded. After this operation, 196 kB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 109333 files and directories currently installed.) Removing python-mysqldb (1.2.3-2ubuntu1) ...

答案 3 :(得分:0)

请不要做上面建议的事情......

在MySQLdb文件夹中使用这些命令:

sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev
sudo python setup.py install