【发布时间】:2011-12-08 12:10:48
【问题描述】:
我尝试将公司模块导入我的软件,但出现错误:
ImportError: No module named config
来自:
from pylons.config import config
很明显,我导入的模块需要 pylons.config 但在我的虚拟环境中找不到它。
如果我去终端并尝试一些 Python 脚本,我似乎可以找到配置文件:
from pylons import config
但如果我尝试会出错:
import pylons.config
这是为什么?
有没有人可以通过什么方式或从哪里得到:
from pylons.config import config
工作。请记住,我无法更改此模块的代码,只能更改正在导入它的我的代码或我自己的系统文件。
更新
如果发现此页面的任何人遇到类似问题,您可能会发现您正在尝试使用不同版本的 Pylons 运行两个模块。
例如,您正在创建一个名为 myApp 的登录应用程序。您有一些 Python 模块可以帮助进行登录处理,称为 pyLogin。
首先您使用 python setup.py install 安装 pyLogin。这会将库添加到您的站点包并更新它所依赖的任何库,例如 SqlAlchemy。
接下来,您安装 myApp 的方式与再次更新库和依赖项的方式相同。
如果 pyLogin 和 myApp 使用不同版本的 Pylons,则会出现此问题。例如,如果 pyLogin 使用 Pylons 0.9.6 并且 myApp 使用 Pylons 1.0,那么 pyLogin 代码将从 myApp 调用 但它将在错误的 Pylons 框架中运行,因此需要 from pylons import config 或 from pylons.config import config,但仅适用于一。如果它对 Pylons 使用了错误的调用,那么您会发现自己收到此错误消息。
因此,解决此错误的唯一方法是找到与您的应用程序使用相同 Pylons 版本的较早或更高版本的库,或者将您的应用程序转换为与您正在使用的库相同的 Pylons 版本。
【问题讨论】:
-
config是在pylons中定义的类吗?如果是这样,afaik,from pylons import config将起作用,但import pylons.config不会,因为您告诉 Python 导入 module pylons.config。使用前一种形式,您告诉 python 从模块pylons导入到 objectconfig。
标签: python import pylons configuration-files