使用父包的Python-_init__子模块

使用父包的Python-_init__子模块,python,Python,我有一个包结构,如下所示: parent_package/ __init__.py module/ __init__.py 在父级\uuuu init\uuuuu.py中,我有: from __future__ import division print(3/2) # 1.5 但是,当我试图在其子级中重用导入时,分割没有生效。在模块的\uuuu init\uuuu.py中: from parent_package.__init__ import divisi

我有一个包结构,如下所示:

parent_package/
    __init__.py
    module/
        __init__.py
在父级
\uuuu init\uuuuu.py
中,我有:

from __future__ import division

print(3/2) # 1.5
但是,当我试图在其子级中重用导入时,分割没有生效。在模块的
\uuuu init\uuuu.py
中:

from parent_package.__init__ import division

print(3/2) # 1!

您误解了
\uuuu future\uuuu
模块的工作原理
\uuuuuuuuuuuuuuuuuuuuuuuu未来
是一个内置于python解释器中的特殊模块,用于更改解释器解析和/或执行代码的方式。为了使
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuu
导入具有所需的效果,其形式必须为

from __future__ import <feature>

当您从父\u包中执行
。\uuuuuu init\uuuuuuuuu导入分部
时,您只需导入此变量。但是您没有启用新的分区行为。

您误解了
\uuuu future\uuuu
模块的工作原理
\uuuuuuuuuuuuuuuuuuuuuuuu未来
是一个内置于python解释器中的特殊模块,用于更改解释器解析和/或执行代码的方式。为了使
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuu
导入具有所需的效果,其形式必须为

from __future__ import <feature>

当您从父\u包中执行
。\uuuuuu init\uuuuuuuuu导入分部
时,您只需导入此变量。但是您没有启用新的分区行为。

分区是您自己的模块还是文件?你能不能在模块
\uuuuu init\uuuuuuu
中导入
分部
?我认为要获得好的风格,你应该在任何地方都使用
from\uuuuuu future\uuuuuuuu导入分部
。它甚至更短!您当前的导入甚至没有明确说明
division
是未来的导入:它可以是父级中定义的随机函数、变量或类。这非常令人困惑。@9769953我希望模块在根之后初始化。希望root _uinit _uuu.py完成繁重的工作(设置全局配置等),模块以某种方式从中“继承”。我不知道是否有更好的方法。“我不知道是否有更好的方法。”:参见我的第一条评论。分区是您自己的模块还是文件?你能不能在模块
\uuuuu init\uuuuuuu
中导入
分部
?我认为要获得好的风格,你应该在任何地方都使用
from\uuuuuu future\uuuuuuuu导入分部
。它甚至更短!您当前的导入甚至没有明确说明
division
是未来的导入:它可以是父级中定义的随机函数、变量或类。这非常令人困惑。@9769953我希望模块在根之后初始化。希望root _uinit _uuu.py完成繁重的工作(设置全局配置等),模块以某种方式从中“继承”。我不知道是否有更好的方法。“我不知道是否有更好的方法。”:见我的第一条评论。