[英]ModuleNotFoundError: No module named 'xxx'; 'xxx' is not a package
[英]ModuleNotFoundError: No module named XXX
这是我的工作区目录结构的一部分:
workspace
+-- .vscode
+-- launch.json
+-- main
+-- __init__.py
+-- main.py
+-- utils
+-- __init__.py
+-- func.py
+-- func2.py
在 func.py 中我写道:
import sys
sys.path.append('.')
from func2 import func2
def func1():
...
func2()
...
return ...
在 main.py 中我写道:
import sys
sys.path.append('.')
from utils.func import func1
执行main.py时,vscode报错:
Traceback (most recent call last):
File "...\workspace\main\main.py", line 4, in <module>
from utils.func import func1
File "...\workspace\utils\func1.py", line 4, in <module>
from func2 import func2
ModuleNotFoundError: No module named 'func2'
我尝试在文件 func.py 中调用 func1 并运行该文件,它运行良好。 为什么不能在main.py中调用呢?
这是对文件的编辑(执行main.py
时注意所有路径都相对于它):
函数2.py
import sys
sys.path.append('.')
def func2():
print('Here is...\n')
函数.py
import sys
sys.path.append('.')
from utils.func2 import func2 # The change is here; use the path relative to main
def func1():
func2()
return 0
主程序
import sys
sys.path.append('.')
from utils.func import func1
if __name__ == '__main__':
func1()
print('Hello World\n')
根据我的说法,您遇到了与目录相关的问题。 尝试将必要的文件放在同一目录中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.