it-swarm.com.de

Auf Ubuntu 16.04 aktualisiert, MySQL-Python-Abhängigkeiten sind nun defekt

Ich habe gerade meine Ubuntu-Installation auf 16.04 aktualisiert. Dies scheint meine mysql-Abhängigkeiten im MySQL-Python-Paket gebrochen zu haben.

Hier ist meine Fehlermeldung:

  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

Im Grunde sucht der import_mysql nach einer so-Datei, die nicht existiert, da in Ubuntu 16.04 libmysqlclient20 installiert ist . Meine Python-Bibliotheken sind mit den neuesten Versionen auf dem neuesten Stand.

(Ich habe versucht, pip install --upgrade mysql-python auszuführen, was darauf hinweist, dass es aktuell ist).

Habt ihr irgendwelche Vorschläge?

21
RyanH

Ich fand die Lösung für meine Probleme mit pip install --no-binary MySQL-python MySQL-python wie in diesem Thread angegeben: Pythons MySQLdb kann libmysqlclient.dylib mit Homebrewed MySQL nicht finden

24
RyanH

Danke für Largaroth. Wenn Sie mysqlclient unter Ubuntu 16.04 verwenden und einen Fehler haben: ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory

Sie können beheben:

Sudo -H pip uninstall mysqlclient

Sudo -H pip install --no-binary mysqlclient mysqlclient
31
Cuong Tran

Ich hatte das gleiche Problem. Ich habe MySQL-python deinstalliert und neu installiert:

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

Mein Problem war, dass ich ein Steuerhaus aus alten Betriebssystemen verwendete. 

Das Problem wurde behoben, als ich das Paket deinstalliert/installiert oder das Steuerhaus aktualisiert habe.

Aus docs:

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

Das heißt, Sie haben eine Version von MySQLdb, die mit einer Version von MySQL kompiliert wurde, und versuchen nun, sie mit einer anderen Version auszuführen. Die Version der gemeinsam genutzten Bibliothek ändert sich tendenziell zwischen den Hauptversionen.

Lösung: MySQLdb neu aufbauen oder die entsprechende Version von MySQL erhalten.

1
confiq

Ich hatte dieses Problem mit Python 3.6 ... als ich eine Umgebung mit Python 3.5 verwendete, funktionierte es gut.

0
Kyle

Ich hatte dieses Problem beim Update auf Stretch. Um das Problem zu beheben, habe ich meine requirements.txt aktualisiert:

mysqlclient == 1.4.2.post1

Aktualisieren Sie diese also entweder manuell oder installieren Sie pip --upgrade mysqlclient

0
Mark