这是我的Python项目文件夹结构。
project\
main_code.py
code\
__init__.py
s_utils.py
data\
在
main_code.py
我尝试过:
import os
os.chdir('absolute path to project folder')
from .code import s_utils
最后一行返回错误:
ImportError: attempted relative import with no known parent package
这里出了什么问题?根据这篇post它应该可以工作。
当您直接运行
main_code.py
时,Python 不会将其视为包的一部分。相对导入(以 .
开头)旨在在包内使用,而不是在顶级脚本中使用。因此,相对导入无法按预期发挥作用。
作为解决方案,您可以将相对导入替换为绝对导入:
import os
from code import s_utils
或者将项目目录添加到Python路径中:
import os
import sys
project_dir = 'absolute path to project folder'
sys.path.append(project_dir)
from code import s_utils