2

我在 Bluehost 上有一个共享托管环境。我正在运行带有一些已安装模块的python(+ django)的自定义安装。一切都在工作,直到昨天在服务器上进行了更改(我假设)这给了我这个 django 错误:

...文件“/****/****/.local/lib/python/django/utils/importlib.py”,第 35 行,在 import_module
    __import__(名称)

文件“/****/****/.local/lib/python/django/db/backends/mysql/base.py”,第 14 行,在
    raise ImproperlyConfigured("加载 MySQLdb 模块时出错:%s" % e)

配置不当:加载 MySQLdb 模块时出错:libmysqlclient_r.so.16:无法打开共享对象文件:没有这样的文件或目录

当然,Bluehost 支持并没有太大帮助。他们建议 1) 我使用默认的 python 安装,因为它已经安装了 MySQLdb。或者 2)我以某种方式从我的 python 导入安装在默认 python 上的 MySQLdb 包(不知道这是否可以完成)。我担心如果我使用默认安装,我将无权安装我的其他软件包。

有没有人知道如何在尽可能少的基础设施更改的情况下恢复工作状态?

4

2 回答 2

2

我认为您升级了操作系统安装,这反过来又升级libmysqlclient并破坏了本机扩展。您可以做的是libmysqlclient16再次重新安装(如何安装取决于您的特定操作系统),这应该可以解决您的问题。

其他方法是卸载MySQLdb模块并重新安装它,强制 python 针对较新的库编译它。

于 2012-11-26T21:43:54.950 回答
0

你是对的。Bluehost 升级了 MySQL。这是我所做的:1)删除“MySQL-python-1.2.3”目录中的“build”目录2)删除egg 3)再次构建模块“python setup.py build”4)再次安装模块“python setup.py 安装 --prefix=$HOME/.local”

对我来说,这个故事的精神是在重新安装模块时删除旧的东西

于 2012-11-27T19:03:09.927 回答