Python模块问题

Posted

技术标签:

【中文标题】Python模块问题【英文标题】:Python module issue 【发布时间】:2012-11-14 10:22:19 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于Python模块问题的主要内容,如果未能解决你的问题,请参考以下文章

Python的错误导入已经安装模块问题,怎么解决

python中模块包无法导入import问题

python re模块出现问题

python模块导入的问题

python的Django views 文件中引入模块问题

如何利用Golang为Python编写模块