如何显式导入全局python包,而不是从本地文件导入



这里描述的问题正好相反。

就我而言,我有:

日志.py

import logging
log = logging.getLogger(..)

我得到了这个错误:

AttributeError: 'module' object has no attribute 'getLogger'

这种情况只发生在Pyramid框架下运行的python 2.7项目上。

当我在另一个项目中运行它时,python 3.6没有任何框架,它非常完美。

PS。也有类似的问题,但情况不同,在我的情况下,它是全局包,不存在于任何sys.path文件夹中。因此,这个问题的任何解决方案都不适用于我。请不要将此问题标记为重复。

我找到了解决方案,只是放了:

from __future__ import absolute_import

位于文件顶部将解决问题。

来源:https://docs.python.org/2/library/未来.html

如您所见,在python 3>=默认情况下,绝对导入是

最好重命名本地文件,使其与内置模块名称不同。

最新更新