Actualizado a Ubuntu 16.04 ahora las dependencias de MySQL-python están rotas
pip ubuntu-16.04 (5)
Gracias por Largaroth. Si usa mysqlclient
en Ubuntu 16.04 y tiene un error: ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
Puedes arreglar:
sudo -H pip uninstall mysqlclient
sudo -H pip install --no-binary mysqlclient mysqlclient
Acabo de actualizar mi instalación de Ubuntu a 16.04 y esto parece haber roto mis dependencias de mysql en el paquete MySQL-python.
Aquí está mi mensaje de error:
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
Entonces, básicamente, import_mysql está buscando un archivo que no existe porque en Ubuntu 16.04, tengo libmysqlclient20
instalado. Y libmysqlclient18 no está disponible. Por lo que sé (o al menos creo) mis bibliotecas de python están actualizadas con las últimas versiones.
(Intenté ejecutar pip install --upgrade mysql-python
que indicaba que estaba actualizado).
¿Tienen alguna sugerencia?
Mi problema era que estaba usando la timonera del antiguo sistema operativo.
El problema se resolvió cuando desinstalé / instalé el paquete o actualicé la timonera ...
De los documentos:
http://mysql-python.sourceforge.net/FAQ.html#importerror
Esto significa que tienes una versión de MySQLdb compilada contra una versión de MySQL y ahora estás intentando ejecutarla contra una versión diferente. La versión de la biblioteca compartida tiende a cambiar entre las principales versiones.
Solución: Reconstruyó MySQLdb, u obtenga la versión correspondiente de MySQL.
Terminé encontrando la solución a mis problemas con pip install --no-binary MySQL-python MySQL-python
como se indica en este hilo: MySQLdb de Python no puede encontrar libmysqlclient.dylib con MySQL Homebrewed
Tuve el mismo problema. Desinstalé y reinstalé MySQL-python:
pip uninstall MySQL-python
pip install MySQL-python
Tuve este problema con Python 3.6 ... cuando usé un entorno con Python 3.5 funcionó bien.