gpt4 book ai didi

python - 'from pylons import config'和 'import pylons.config'的区别

转载 作者:行者123 更新时间:2023-11-28 23:03:43 24 4
gpt4 key购买 nike

我试图将公司模块导入我的软件,但出现错误:

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,再次更新库和依赖项。

如果 pyLoginmyApp 使用不同版本的 Pylons,则会出现此问题。例如,如果 pyLogin 使用 Pylons 0.9.6 而 myApp 使用 Pylons 1.0,那么 pyLogin 代码将从 myApp 调用 但它将在错误的 Pylons 框架中运行,因此将需要 from pylons import configfrom pylons.config import config,但仅适用于一。如果它使用了错误的 Pylons 调用,那么您会发现自己收到此错误消息。

因此,此错误的唯一解决方案是找到与您的应用程序使用相同 Pylons 版本的较早或较新的库,或者将您的应用程序转换为与您正在使用的库相同的 Pylons 版本。

最佳答案

两种用法之间存在差异......

import 将 Python 模块加载到它自己的命名空间,而 from 将 Python 模块加载到当前命名空间>.

因此,使用 from pylons import config 将配置导入到您当前的命名空间。但是尝试使用 import 导入 classfunction 是不可能的,因为那里没有命名空间来保留它们...您只能导入模块,并通过使用它们自己的命名空间调用它们来使用 functionsclasses

import pylons
....
pylons.config #to retreive config

More about import in Python

关于python - 'from pylons import config'和 'import pylons.config'的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8430823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com