Python代码报错:from . import version
E ImportError: cannot import name 'version' from partially initialized module 'swot_simulator' (most likely due to a circular import) (D:\SWOT\swot_simulator-master\swot_simulator_init_.py)
```python
import pathlib
#
from . import version
#: Module Version
__version__ = version.release()
#: Module release date
__date__ = version.date()
del version
```
version导入不了,循环导入了
引用 皆我百晓生 小程序回复内容作答:
这个错误是因为在模块"swot_simulator"的初始化文件"init.py"中有一个循环导入。循环导入通常是指两个或多个模块相互导入对方。
解决方法之一是将循环导入的语句移动到需要使用它的代码块中。在你的示例代码中,可以尝试将循环导入的语句移动到__version__
和__date__
的赋值语句下方,如下所示:
import pathlib
#: Module Version
__version__ = None
#: Module release date
__date__ = None
# 所有其他需要导入version模块的代码
from . import version
__version__ = version.release()
__date__ = version.date()
del version
注意,现在赋值语句上方的变量__version__
和__date__
被初始化为None
,因为在导入version
之前它们并没有值。
这种方法可以避免循环导入错误,但确保在真正使用__version__
和__date__
之前,先导入了version
模块。