我正在python中启动一个项目,现在的代码结构如下:
project/
__init__.py
a.py
b.py
mainA.py
utilities/
__init__.py
mainB.py
c.py
这些__init__
文件都是空白的。
我想utilities/mainB.py
作为一个程序运行(使用类似的东西python main.py
),并且 mainB 需要导入a.py
和b.py
. 所以我尝试from .. import a
了一些其他的方法,但都import
失败了。错误信息是:
ValueError:尝试在非包中进行相对导入
那么问题来了:
- 如何修复
mainB.py
它可以作为主程序运行? mainA.py
现在可以作为主程序运行,它还可以导入a.py
和b.py
(使用import a
andimport b
)。我认为代码结构可能会变得更加复杂。说,如果mainA.py
必须从中导入模块project/some/directory
,我该怎么做?