Je cours un script python sur un serveur d'hébergement partagé qui avait jusqu'à ce matin MySQL version 4. Maintenant, il a la version 5. Mon script python ne peut plus se connecter à MySQL, car il ne peut pas trouver libmysqlclient_r.so.14 :Comment puis-je dire à python quelle version de libmysqlclient.so utiliser?
$ python my_script.py
Traceback (most recent call last):
File "my_script.py", line 6, in ?
import MySQLdb
File "/home/lib/python2.4/site-packages/PIL-1.1.6-py2.4-linux-i686.egg/__init__.py", line 19, in ?
File "build/bdist.linux-i686/egg/_mysql.py", line 7, in ?
File "build/bdist.linux-i686/egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient_r.so.14: cannot open shared object file: No such file or directory
Il existe plusieurs autres versions de libmysqlclient dans/usr/lib:
/usr/lib/libmysqlclient.so.15
/usr/lib/libmysqlclient.so.14
/usr/lib/mysql/libmysqlclient.la
/usr/lib/mysql/libmysqlclient.so
/usr/lib/mysql/libmysqlclient_r.so
/usr/lib/mysql/libmysqlclient_r.a
/usr/lib/mysql/libmysqlclient_r.la
/usr/lib/mysql/libmysqlclient.a
/usr/lib/libmysqlclient.so
/usr/lib/libmysqlclient_r.so
/usr/lib/libmysqlclient_r.so.15
/usr/lib/libmysqlclient_r.so.15.0.0
/usr/lib/libmysqlclient.so.15.0.0
Alors ma question est la suivante: comment puis-je dire python (version 2.4.3) quelle version de libmysqlclient à utilisation?
Pour tous ceux qui pourraient rencontrer cela.Vous pouvez définir votre LD_LIBRARY_PATH comme ceci: (en supposant que bash) export LD_LIBRARY_PATH =/usr/lib/mysql /: $ LD_LIBRARY_PATH évidemment votre/usr/lib ... serait le chemin de votre bibliothèque. – user49913