我遇到以下情况下的相对进口问题。
我有一个包含两个模块目录的包,我想将dir_b
中的模块导入dir_a
的模块。
以下是我的包结构示例:
$ tree
.
├── builder
│ ├── build_moto.py
│ └── __init__.py
├── __init__.py
└── parts
├── car.py
├── __init__.py
├── moto.py
└── truck.py
我正在尝试使用相对导入在moto
内导入build_moto
,如下所示:
$ cat builder/build_moto.py
#!/usr/bin/python3
from .parts import moto
...但是当我执行build_moto.py
时,会产生以下错误:
$ python3 builder/build_moto.py
Traceback (most recent call last):
File "builder/build_moto.py", line 3, in <module>
from .parts import moto
SystemError: Parent module '' not loaded, cannot perform relative import
我想明白:
答案 0 :(得分:1)
通常,这个问题可以这样解决:
java.util.logging.FileHandler.pattern=C:\Users\cardal\ApplicationLog.html
python3 -m builder.build_moto
参数表示您将模块作为库的一部分运行:
-m mod:将库模块作为脚本运行(终止选项列表)