Подтвердить что ты не робот

Обновлено до Ubuntu 16.04 теперь нарушены зависимости MySQL-python

Я только что обновил мою установку Ubuntu до 16.04, и это, похоже, нарушило мои зависимости mysql в пакете MySQL-python.

Вот мое сообщение об ошибке:

  File "/opt/monitorenv/local/lib/python2.7/site-packages/sqlalchemy/engine/__init__.py", line 386, in create_engine
return strategy.create(*args, **kwargs)
  File "/opt/monitorenv/local/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 75, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
  File "/opt/monitorenv/local/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 92, in dbapi
return __import__('MySQLdb')
  File "/opt/monitorenv/local/lib/python2.7/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory

Таким образом, import_mysql ищет файл so, которого нет, потому что в Ubuntu 16.04 у меня установлен libmysqlclient20. И libmysqlclient18 недоступен. Насколько мне известно (или, по крайней мере, я полагаю), мои библиотеки python обновлены с последними версиями.

(я попробовал запустить pip install --upgrade mysql-python, указав, что он обновлен).

Есть ли у вас какие-либо предложения?

4b9b3361

Ответ 2

Спасибо за Ларгарот. Если вы используете mysqlclient на Ubuntu 16.04 и имеете ошибку: ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory

Вы можете исправить:

sudo -H pip uninstall mysqlclient

sudo -H pip install --no-binary mysqlclient mysqlclient

Ответ 3

У меня была такая же проблема. Я удалил и переустановил MySQL-python:

pip uninstall MySQL-python
pip install MySQL-python

Ответ 4

Моя проблема заключалась в том, что я использовал рулевую рубку из старой ОС.

Проблема была решена, когда я удалил/установил пакет или обновленную рулевую рубку...

Из документов:

http://mysql-python.sourceforge.net/FAQ.html#importerror

Это означает, что у вас есть версия MySQLdb, скомпилированная против одной версии MySQL, и теперь пытаемся запустить ее против другой версии. Версия общей библиотеки имеет тенденцию к изменению между основными выпусками.

Решение: восстановлен MySQLdb или получить соответствующую версию MySQL.

Ответ 5

У меня была эта проблема с Python 3.6... когда я использовал среду с Python 3.5, она работала просто отлично.

Ответ 6

У меня была эта проблема при обновлении, чтобы растянуть. Чтобы это исправить, я обновил свои требования. Txt:

mysqlclient == 1.4.2.post1

Так что либо обновите это вручную, либо установите pip --upgrade mysqlclient