我在 Bluehost 上有一个共享托管环境。我正在运行 python(+ django) 的自定义安装,并安装了一些模块。一切都在工作,直到昨天在服务器上进行了更改(我假设),这给了我这个 django 错误:
... File "/****/****/.local/lib/python/django/utils/importlib.py", line 35, in import_module __import__(name) File "/****/****/.local/lib/python/django/db/backends/mysql/base.py", line 14, in raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
当然,Bluehost 支持并没有太大帮助。他们建议 1)我使用默认的 python 安装,因为已经安装了 MySQLdb。或者2)我以某种方式从我的python导入安装在默认python上的MySQLdb包(不知道这是否可以完成)。我担心如果我使用默认安装,我将无权安装其他软件包。
有人知道如何在尽可能少地更改基础设施的情况下恢复工作状态吗?
最佳答案
我认为您升级了操作系统安装,从而升级了 libmysqlclient
并破坏了 native 扩展。您可以做的是再次重新安装 libmysqlclient16
(具体操作方式取决于您的特定操作系统),这应该可以解决您的问题。
其他方法是卸载 MySQLdb
模块并重新安装它,强制 python 针对较新的库进行编译。
关于Python模块问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13573359/