Python无法从文件夹导入文件,ModuleNotFoundError问题排查
问题排查方案
- 缺少
__init__.py文件:Python仅将包含__init__.py的文件夹识别为可导入的包,若common文件夹内无此文件,解释器不会将其视为合法包,导致无法找到内部模块。只需在common文件夹下新建一个空的__init__.py文件即可。 - 脚本运行目录不匹配:如果你的运行脚本不在
common文件夹的同级目录下,Python默认搜索路径不会包含common所在目录。比如目录结构如下:
若在project/ common/ arguments.py scripts/ your_script.pyscripts目录下直接运行your_script.py,Python无法定位到上层的common。解决方式:要么将脚本移至project目录下运行,要么在脚本开头添加路径配置:import sys from pathlib import Path sys.path.append(str(Path(__file__).parent.parent)) - Python环境不一致:你确认存在的目录可能不在当前运行的Python环境搜索路径中,或是使用了虚拟环境,而
common文件夹属于另一个环境的目录。可在脚本开头打印搜索路径验证:
查看输出是否包含import sys print(sys.path)common所在目录,若没有则手动添加。 - 文件名/文件夹名拼写问题:即便你确认文件存在,仍需检查
common文件夹名、arguments.py文件名是否存在大小写错误(Linux/macOS区分大小写,Windows不区分),或是包含空格、特殊字符。
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

