[英]Azure App Service ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
[英]Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory
我有一个正在运行的 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
重新安装c共享库:
pip uninstall mysql-python
pip install mysql-python
我遇到相同错误消息的问题是 mysql 环境没有完全设置好。 我需要卸载 MySQL-python; 安装 libmysqlclient-dev; 重新安装 MySQL-python 以解决问题。
所以修复也是:
须藤 apt-get 安装 libmysqlclient-dev
须藤 pip 安装 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
带我到这里
使用:mysql 5.7、mysql-python 1.2.5、django 1.8.9、ubuntu 16.04
使用以下命令:
pip uninstall mysql-python
pip install mysql-python
在我的情况下,它起作用是因为它从编译的文件中搜索。
我确实通过设置以下环境变量解决了同样的问题:
export LD_LIBRARY_PATH=/usr/local/mysql/lib
在我的情况下,问题是由 Ubuntu 升级引起的,所以我在/usr/lib/x86_64-linux-gnu
找不到libmysqlclient.so.20
。
解决方案:
/usr/lib/x86_64-linux-gnu
( 或类似) 中是否存在libmysqlclient.so.XX
libmysqlclient.so.XX
(例如v20 的链接)sudo dpkg -i libmysqlclient(...).deb
和sudo apt-get install -f
ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.XX.so libmysqlclient.XX.so
以防万一pip uninstall
和pip install
不起作用,并且您不想将特定路径设置为ld_library_path
,我在我的 vps 上做了什么:
cd /usr/local/lib
sudo ln -s /path/to/your/libmysqlclient.so.20
在我的情况下,我的 mysql 是从 linuxbrew 安装的(有一些理由安装在家里),所以我不得不导航到$HOME/.linuxbrew/Cellar/mysql/5.7.18/lib/libmysqlclient.so.20
我遇到了同样的问题,我修复了之前安装 mysqlclient 官方文档所说的内容: sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.