python 绝对导入和 pycharm

python absolute import and pycharm

当我使用相对导入时,我的代码 运行 正确但 pycharm 呻吟。在sum.py中,导入行有红色下划线,我没有完成。

如果我尝试通过添加“app”来切换为使用绝对导入。无处不在,pycharm 是快乐的,但代码不再是 运行。我得到:“ModuleNotFoundError:没有名为 'app' 的模块”

这是我项目的树结构。这是我的 test_import 文件夹的内容:

.
-- app
    | -- main.py
    | -- mul.py
    | -- folder
         |-- sum.py

main.py:

from folder.sum import sum, mul_import
from mul import mul

if __name__ == '__main__':
    a=1
    b=2
    print("sum ", sum(a, b))
    print("mul ", mul(a, b))
    print("mul import ", mul_import(a, b))

mul.py:

def mul(a, b):
    return a * b

sum.py:

from mul import mul

def sum(a, b):
    return a + b

def mul_import(a, b):
    return mul(a, b)

是否可以使用“应用程序”。到处都有完成但让代码工作?

在 pycharm 中,我必须 运行 使用绿色箭头,而不是在命令行中使用“python main.py”或“python app/main.py"。这是有效的,因为项目目录被添加到 python 路径(在 运行 的配置中)。

对于 docker 我必须将项目目录添加到 python 路径。