Python 2/3 retofit issue with imports
我有一个用python 2编写的包,我正在尝试对其进行改造以使用python 3。至少可以说是痛苦的。我在使用未来绝对输入部分代码时遇到问题。
这适用于python 2,但不适用于python 3,所以我希望有人能指出我的问题。
包装结构为:
1 2 3 4 5 | fusion -> __init__.py agol -> featureservice.py -> layer.py |
fusion init定义为:
1 2 | from __future__ import absolute_import from . import agol |
号
AGOL子包的定义如下:
1 2 3 | from __future__ import absolute_import from . import featureservice from . import layer |
featureservice.py具有此导入,其中问题是:从。导入层layer.py具有类似的导入:从。导入功能服务
它们可以相互引用,其中层可以是功能服务的子级。但是我得到了这个导入问题,将这个模块导入到每个py文件中的正确方法是什么?
谢谢你
循环相对导入在Python3中不起作用。
循环导入被认为是一种糟糕的实践,因为您已经将两个模块紧密地耦合在一起。您可以考虑为什么需要将
也许每个模块中都有一些函数应该在另一个模块中,而这两个模块都依赖于它们?或者,您应该将这些模块合并在一起,而不是进一步拆分它们?
相关阅读:
- python 2和3中的循环导入
- python 3中的相对导入问题