问题描述
近日在尝试引用其他文件的代码时,遇到了错误: ImportError: attempted relative import with no known parent package.
问题大致是这样的:我想在 code2.py
中引用 code1.py
的函数,如 from ..folder1.code1 import xxx
,运行 code2.py
时出现错误。
root
├── folder1
│ └── code1.py
├── folder2
│ └── code2.py
└── main.py
太长不看版
如果你要在 code2.py
中引用 code1.py
的函数,那么可以:
- 改变文件结构,考虑在
main.py
中调用,运行main.py
code2.py
中增加root
的位置到搜索路径sys.path.append
, 代码使用from folder1.code1 import xxx
- 用
-m
选项运行:python -m root.folder2.code2
,代码可以使用from folder1.code1 import xxx
或from ..folder1.code1 import xxx
[我认为这是最优解! 标签:code1,code2,parent,package,py,folder1,relative,no,import From: https://www.cnblogs.com/zkmjolnir/p/17535294.html