Python项目出现ModuleNotFoundError: No module named 'teste'问题求助
Python导入teste模块失败的原因分析
缺少包标识文件__init__.py
Python将包含__init__.py的文件夹识别为可导入的模块包。如果teste/目录下没有这个文件,即使目录结构正确,Python也不会把它当作合法包处理。在teste/下创建一个空的__init__.py文件即可解决这个基础问题。运行脚本的工作目录错误
若直接进入src/目录执行python main.py,此时Python的工作目录是src/,teste/位于src/的上层目录,自然无法被检索到。正确操作是回到项目根目录,执行python src/main.py,让Python以项目根目录作为工作目录,就能正常找到teste/包。PYTHONPATH或sys.path设置有误
- 设置PYTHONPATH时,必须将项目根目录添加到环境变量,而非
teste/或src/目录。例如Linux/macOS终端执行:export PYTHONPATH="/你的项目根目录路径:$PYTHONPATH";Windows命令行执行:set PYTHONPATH=C:\你的项目根目录路径;%PYTHONPATH%。 - 使用
sys.path.append时,要确保代码写在导入语句之前,且添加的是项目根目录的绝对路径。示例代码:import sys import os # 获取项目根目录(main.py在src下,上层即为根目录) project_root = os.path.dirname(os.path.abspath(__file__)) sys.path.append(project_root) import teste.t as t_ t_.hi()
避免用相对路径添加,否则可能因工作目录变化导致路径无效。
- 设置PYTHONPATH时,必须将项目根目录添加到环境变量,而非
内容的提问来源于stack exchange,提问作者AnDré
相关产品推荐
相关产品推荐

