**目录结构** #--- root # --- a.py # --- b.py # --- folder_a # --- c.py # --- d.py # --- folder_b # --- e.py # --- main.py # # 运行 main.py 时,需要导入 c.py的包报错信息
解决方法(base) h@ai:~/work/code/YOLOX/tools$ python main.py
Traceback (most recent call last):
File “main.py”, line 31, in
from folder_a.c import fun1, fun2
ModuleNotFoundError: No module named ‘folder_a’
# 在main.py文件夹,impor c 之前加入以下代码
import pathlib
import sys
FILE = pathlib.Path(__file__).absolute() # 当前运行的main.py文件路径
ROOT = FILE.parents[0] # 加入 main.py所在文件夹路径
if str(ROOT) not in sys.path:
sys.path.append(str(ROOT))
sys.path.insert(0, str(ROOT))
# 上面不行再加入
import folder_a
# 直接从 folder_a 导入c.py文件的包
from folder_a.c import func
# 注意ROOT 需要转换为 str



