2012-11-26 41 views
2

我在Bluehost上有共享的宿主环境。我正在运行带有几个已安装模块的python(+ django)自定义安装。所有一直工作,直到昨天一个变化的服务器(我假设),这给了我这个错误的Django上进行:Python模块问题

 
... 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上的MySQLdb包,从我的python(不知道这是否可以完成)。我担心,如果我使用默认安装,我将不具有安装其他软件包的权限。

没有任何人有任何想法如何找回工作状态,以尽可能少的基础设施变化可能吗?

回答

2

我认为你升级了你的操作系统安装,然后升级libmysqlclient并打破本地扩展。你可以做的是再次重新安装libmysqlclient16(如何做到这一点取决于你的特定操作系统),并应该解决你的问题。

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

0

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

对我来说故事的士气就是在重装模块时删除旧的东西