You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Python导入模块遇ModuleNotFoundError,macOS运行正常

Windows下Python脚本出现ModuleNotFoundError的原因及解决办法

核心原因

1. 模块搜索路径差异

Python的模块搜索依赖sys.path列表,这个列表会随运行脚本的当前工作目录变化:

  • macOS上你大概率是在src的上级目录执行脚本(比如python src/greeter.py),此时上级目录被加入sys.path,Python能识别到src作为顶层包。
  • Windows上如果直接进入src目录运行python greeter.py,sys.path里只有src目录本身,找不到名为src的模块,因此报错。

2. 文件名/目录名大小写问题(次要)

macOS文件系统默认大小写敏感,Windows则默认不敏感。如果代码中导入的路径(如helper)和实际文件/目录名大小写不匹配,macOS上严格匹配能正常运行,但Windows下可能因系统的大小写兼容导致Python导入逻辑混乱,触发异常。

解决办法

  • 统一运行目录:在src的上级目录执行脚本,命令统一为:
    python src/greeter.py
    
  • 改用相对导入:如果需要在src目录内运行脚本,修改导入语句为相对路径:
    from .helper import world
    
    此时需用模块方式运行(上级目录执行):
    python -m src.greeter
    
  • 检查大小写匹配:确保代码中的导入路径和实际文件、目录的大小写完全一致。

内容的提问来源于stack exchange,提问作者flymg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:55:19