python绝对导入和pycharm



当我使用相对导入时,我的代码可以正常运行,但是pycharm有问题。在sum.py中,导入行用红色下划线,并且没有完成。

如果我想通过添加"app."在任何地方,pycharm都很高兴,但代码不再运行。我得到:"ModuleNotFoundError: No module named '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)

有可能使用"app !"到处都有完成,但使代码工作?

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

对于docker,我必须将项目目录添加到pythonpath。

最新更新