繁体   English   中英

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

[英]How to explicitly import a global python package instead of from local file

这里描述的是完全相反的问题。

就我而言:

logging.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/ future .html

如您所见,在python 3> =绝对导入中是默认设置

最好将本地文件重命名为与内置模块名称不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM