it-swarm.com.ru

Обновлен до 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, который указал, что это было актуально).

Ребята, у вас есть предложения?

21
RyanH

Я закончил тем, что нашел решение своих проблем с pip install --no-binary MySQL-python MySQL-python как указано в этой теме: MySQLdb Python не может найти libmysqlclient.dylib с Homebrewed MySQL

24
RyanH

Спасибо за Ларгарота. Если вы используете 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
31
Cuong Tran

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

pip uninstall MySQL-python
pip install MySQL-python
5
Warren O'Neill

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

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

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

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

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

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

1
confiq

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

0
Kyle