我有一个正在运行的django项目,由于某些原因,我不得不删除当前的mysql版本并在我的机器中安装不同的MySQL版本。
但是现在当我试图运行这个程序时出现如下错误:
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory
答案 0 :(得分:17)
我的问题是同样的错误信息是mysql环境并非一直设置。我需要卸载MySQL-python;安装libmysqlclient-dev;重新安装MySQL-python来纠正这个问题。
所以修复也是如此:
sudo apt-get install libmysqlclient-dev
sudo pip install MySQL-python
**我还应该提一下,我使用pip install的--no-cache-dir选项直接命中PYPI,这有助于发现以下内容:
sh: 1: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-Y7RFpJ/mysql-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "/tmp/pip-build-Y7RFpJ/mysql-python/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/tmp/pip-build-Y7RFpJ/mysql-python/setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
并引导我here
使用:mysql 5.7,mysql-python 1.2.5,django 1.8.9,ubuntu 16.04
答案 1 :(得分:16)
重新安装c共享库:
pip uninstall mysql-python
pip install mysql-python
答案 2 :(得分:2)
使用以下命令:
pip uninstall mysql-python
pip install mysql-python
在我的情况下,它起作用,因为它从编译的文件中搜索。
答案 3 :(得分:1)
我通过设置以下环境变量确实解决了同样的问题:
export LD_LIBRARY_PATH=/usr/local/mysql/lib
答案 4 :(得分:1)
就我而言,问题是由Ubuntu升级引起的,因此在libmysqlclient.so.20
中找不到/usr/lib/x86_64-linux-gnu
。
解决方案:
libmysqlclient.so.XX
(或类似名称)中的存在/usr/lib/x86_64-linux-gnu
libmysqlclient.so.XX
sudo dpkg -i libmysqlclient(...).deb
和sudo apt-get install -f
安装lib ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.XX.so libmysqlclient.XX.so
答案 5 :(得分:0)
以防万一pip uninstall
和pip install
无法正常工作,并且您不想为ld_library_path
设置特定路径的情况,这就是我在vps上所做的事情:
cd /usr/local/lib
sudo ln -s /path/to/your/libmysqlclient.so.20
在我的情况下,我的mysql是从linuxbrew安装的(有一些原因要安装在home内),所以我不得不在那儿导航$HOME/.linuxbrew/Cellar/mysql/5.7.18/lib/libmysqlclient.so.20
答案 6 :(得分:0)
我遇到了同样的问题,我修复了 mysqlclient 官方 doc 之前说要安装的内容:
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential