我有以下目录结构:
/home/pi
- project/
- p1v1.py
- tools1/
- __init__.py
- tools1a/
- __init__.py
- file1.py
- file2.py
- tools1a1/
- __init__.py
- file3.py
- file4.py
- tools1a2/
- __init__.py
- file5.py
- file6.py
我正在尝试将所有模块从file1.py
导入到我的项目文件中p1v1.py
from file1 import *
但最终得到
ImportError: attempted relative import with no known parent package
或
ValueError: Attempted relative import in non-package
取决于我在p1v1.py
中使用的功能,因为file1.py
中的功能取决于file3.py
和file4.py
。 我想使用显式导入(为了清楚起见(,但我不确定如何做到这一点。任何建议将不胜感激。
谢谢!
通过反复试验,最终想出了解决这个问题的方法:
import sys
sys.path.insert(0,'..')
from tools1.tools1a.file1 import function as f1
注意:为此,我需要在工作目录/home/pi/project/
之外编辑和执行我的脚本p1v1.py
。希望这对其他有类似问题的其他人有所帮助!