python import
依据src以下的目录路径进行导入,每次都是从src的下一级开始
ref
ModuleNotFoundError: No module named ‘main.xxx’; ‘main’ is not a package问题
note
可行方法:
以src为根目录,从src的下一级目录开始导入,每次都是从src的下一级开始,即绝对导入
文件结构:
|---src
|---Core
|---__init__.py
|---Wheel.py
|---Parser.py
from Core.Wheel import Wheel
pycharm运行正常命令行运行报错
注意事项:
这样只能在pycharm中可以运行,在命令行中会报错:
ModuleNotFoundError: No module named 'practice'
原因:
观察pycharm的python console可以看到,在运行之前,pycharm添加了代码:
sys.path.extend(['/home/pbc/Documents/PycharmProjects/myEPI/src', ])
即,将工程根目录路径和source root路径添加到了系统路径
经实验,src路径是有效的其作用的,根目录不起作用
解决方法:
把src路径添加到系统路径
# sys.path.extend(['/home/pbc/Documents/PycharmProjects/myEPI', '/home/pbc/Documents/PycharmProjects/myEPI/src'])
# sys.path.extend(['/home/pbc/Documents/PycharmProjects/myEPI', ])
sys.path.extend(['/home/pbc/Documents/PycharmProjects/myEPI/src', ])
本文探讨了在PyCharm环境下Python导入模块正常,但在命令行中出现ModuleNotFoundError的常见问题。通过分析文件结构和系统路径设置,作者揭示了如何通过绝对导入和调整sys.path来解决这个问题,特别关注了PyCharm特有的路径设置技巧。

被折叠的 条评论
为什么被折叠?



