Python 2/3 retofit导入问题

2024-06-01 11:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用Python2编写的包,我正在尝试改型以使用Python3。至少可以说很痛苦。我在使用代码的未来绝对导入部分时遇到问题。你知道吗

这在python2中有效,但在python3中无效,所以我希望有人能指出我的问题。你知道吗

包结构为:

fusion
  -> __init__.py
  agol
    -> featureservice.py
    -> layer.py

融合初始化定义为:

from __future__ import absolute_import
from . import agol

agol子包定义为:

from __future__ import absolute_import
from . import featureservice
from . import layer

那个功能服务.py具有此导入,问题是: 从。导入图层 这个图层.py具有类似的导入: 从。导入功能服务

它们可以相互引用,其中层可以是功能服务的子层。但我得到这个导入问题,什么是正确的方式导入这个模块到每个py文件?你知道吗

谢谢


Tags: 代码frompyimport功能图层layer定义
1条回答
网友
1楼 · 发布于 2024-06-01 11:23:26

循环相对导入在python3中不起作用。你知道吗

循环导入被认为是一种不好的做法,因为这两个模块彼此紧密耦合。您可能需要考虑为什么需要将featureservice导入layerlayer导入featureservice。你知道吗

也许每个模块中都有一些函数应该在另一个模块中,这两个模块都依赖于它们?或者,您不应该进一步拆分这些模块,而应该将它们合并在一起?你知道吗

相关阅读:

相关问题 更多 >