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 路径。
当我使用相对导入时,我的代码 运行 正确但 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 路径。