Ответ 1
В итоге я нашел решение своих проблем с pip install --no-binary MySQL-python MySQL-python
как указано в этой теме: MySQL файл Python не может найти libmysqlclient.dylib с Homebrewed MySQL
Я только что обновил мою установку 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
, указав, что он обновлен).
Есть ли у вас какие-либо предложения?
В итоге я нашел решение своих проблем с pip install --no-binary MySQL-python MySQL-python
как указано в этой теме: MySQL файл Python не может найти libmysqlclient.dylib с Homebrewed MySQL
Спасибо за Ларгарот. Если вы используете 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
У меня была такая же проблема. Я удалил и переустановил MySQL-python:
pip uninstall MySQL-python
pip install MySQL-python
Моя проблема заключалась в том, что я использовал рулевую рубку из старой ОС.
Проблема была решена, когда я удалил/установил пакет или обновленную рулевую рубку...
Из документов:
http://mysql-python.sourceforge.net/FAQ.html#importerror
Это означает, что у вас есть версия MySQLdb, скомпилированная против одной версии MySQL, и теперь пытаемся запустить ее против другой версии. Версия общей библиотеки имеет тенденцию к изменению между основными выпусками.
Решение: восстановлен MySQLdb или получить соответствующую версию MySQL.
У меня была эта проблема с Python 3.6... когда я использовал среду с Python 3.5, она работала просто отлично.
У меня была эта проблема при обновлении, чтобы растянуть. Чтобы это исправить, я обновил свои требования. Txt:
mysqlclient == 1.4.2.post1
Так что либо обновите это вручную, либо установите pip --upgrade mysqlclient