加载MySQLdb模块时出错:libmysqlclient.so.20:无法打开共享对象文件:没有这样的文件或目录

slhcrj9b  于 5个月前  发布在  Mysql
关注(0)|答案(8)|浏览(66)

我有一个正在运行的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

字符串

ny6fqffe

ny6fqffe1#

重新安装c共享库:

pip uninstall mysql-python
pip install mysql-python

字符串

yh2wf1be

yh2wf1be2#

我的问题与相同的错误消息是mysql环境没有完全设置。我需要卸载MySQL-python;安装libmysqlclient-dev;重新安装MySQL-python来纠正这个问题。
所以解决办法也是:

  • sudo pip uninstall MySQL-python(从您选择的包管理器卸载)
  • sudo apt-get install libmysqlclient
  • sudo pip install MySQL
    **我还应该提到,我在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

ebdffaop

ebdffaop3#

使用以下命令:

pip uninstall mysql-python
pip install mysql-python

字符串
在我的情况下,它的工作,因为它从编译的文件中搜索。

r9f1avp5

r9f1avp54#

我通过设置下面的环境变量解决了同样的问题:

export LD_LIBRARY_PATH=/usr/local/mysql/lib

字符串

uemypmqf

uemypmqf5#

在我的情况下,问题是由Ubuntu升级引起的,所以我在/usr/lib/x86_64-linux-gnu中找不到libmysqlclient.so.20
解决方法:
1.检查/usr/lib/x86_64-linux-gnu(或类似)中的libmysqlclient.so.XX是否存在
1.从Ubuntu网站下载libmysqlclient.so.XX(例如link for v20
1.使用dpkg命令sudo dpkg -i libmysqlclient(...).debsudo apt-get install -f安装lib
1.链接库:ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.XX.so libmysqlclient.XX.so

2q5ifsrm

2q5ifsrm6#

我也遇到了同样的问题,我修复了mysqlclient官方文档中说的安装:sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

ny6fqffe

ny6fqffe7#

以防万一pip uninstallpip 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

b91juud3

b91juud38#

安装这些软件包对我来说很有用:

default-libmysqlclient-dev build-essential

字符串

相关问题