我将一些功能拆分到一个单独的文件中。找到了功能和助手功能。设置所有路径并导入其他文件,以便在必要时仍可以调用所有文件。但是,从原始文件中删除未使用的导入后,它似乎出现了循环导入错误。
因此存在未使用的导入,并且在那里,每个测试(524)均成功,但是由于未使用的导入而无法推送分支。如果我们删除导入,我认为测试将进入循环导入,并且根本不会开始。
我尝试做的第一件事是从/ module import / object-> import module更改有关import语句
这使测试开始,但是之后一切都出错了。
在那之后,我试图找到一种通过循环导入路径的方法,但是我却一无所获,而我甚至不知道这是否是解决方案。
`
Traceback (most recent call last):
File "/home/user/../.py", line 2, in <module>
from x.model import x
File "/home/user/../.py", line 1, in <module>
import A
File "/home/user/../.py", line 4, in <module>
import B
File "/home/user/../.py", line 1, in <module>
import C
File "/home/user/../.py", line 9, in <module>
import D
File "/home/user/../.py", line 4, in <module>
import E
File "/home/user/../.py", line 9, in <module>
from x.model import x
ImportError: cannot import name 'x'
`
答案 0 :(得分:0)
如果您正在Ive
文件中的某些方法或函数中使用导入的/home/user/projects/.../nsx/utils.py
,则应从文件导入语句的顶部删除导入语句(即from ive.models import Ive
)(如果您这样做),并且动态导入意味着将import语句放在方法或函数内使用Ive
的位置。
# Assume `/home/user/projects/.../nsx/utils.py` file
# Don't import Ive here
# from ive.models import Ive
def func():
# import here
from ive.models import Ive
# use Ive here