Ошибка Python-MySQLdb в Ubuntu - PullRequest
       18

Ошибка Python-MySQLdb в Ubuntu

3 голосов
/ 24 октября 2011

Я пытаюсь настроить среду в Ubuntu (в отличие от MS-Windows).Это, конечно, Python 2.6.Я настроил MySQL 5512 и MySQLdb из «Центра программного обеспечения Ubuntu».

    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)

Заранее спасибо,

Vineet

Ответы [ 4 ]

1 голос
/ 08 ноября 2014

Кажется, что каждый из apt-get и pip установил свою версию библиотеки. Попробуйте удалить системный mysql с sudo apt-get remove python-mysqldb, и у вас должно быть что-то вроде этого:

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) ...

1 голос
/ 25 октября 2011

Это может не подходить для ваших нужд, но я обнаружил, что MySQL Connector / Python гораздо проще в настройке, чем MySQLdb.Он полностью реализован на Python, поэтому он не заботится о библиотеках интерфейса C.

У этого решения есть несколько недостатков.Это должно быть медленнее.И что еще более важно в вашем случае, я ничего не знаю о Dabo, поэтому я понятия не имею, возможно ли использовать другой интерфейс MySQL.

1 голос
/ 25 октября 2011

Это похоже на несоответствие версий между вашим MySQL-сервером и вашим python-mysqldb.

Какую версию Ubuntu вы используете? (Если вы недавно перешли, попробуйте использовать Ubuntu 11.04).

Самый простой способ решить вашу проблему - это обновить вашу Ubuntu по крайней мере до 11.04, а затем установить соответствующие версии mysql-server и python-mysqldb.

Я использую Ubuntu 11.04, моя версия mysql-сервера - 5.1.54-1ubuntu4, а моя версия python-mysqldb - 1.2.2-10build2.

Надеюсь, это поможет

0 голосов
/ 29 августа 2013

Пожалуйста, не делайте того, что было предложено выше ...

используйте эти команды в вашей папке MySQLdb:

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