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

PyCharm导入类遇ModuleNotFoundError:找不到Dir1模块求助

解决Python命名空间包导入报错:ModuleNotFoundError: No module named 'Dir1'
  • 方法1:临时设置PYTHONPATH环境变量
    终端运行时,把项目根目录(即eraseme目录)加入Python的搜索路径。如果当前已在eraseme目录下,执行:

    PYTHONPATH=. python Dir2/knowyourguitar.py
    

    若不在该目录,使用绝对路径:

    PYTHONPATH=/Users/xxxxxxxx/PycharmProjects/eraseme python /Users/xxxxxxxx/PycharmProjects/eraseme/Dir2/knowyourguitar.py
    
  • 方法2:在脚本中手动添加路径
    在knowyourguitar.py最开头添加以下代码,自动将项目根目录加入Python搜索路径,无论在哪里运行脚本都能找到Dir1:

    import sys
    import os
    # 获取当前脚本的父目录的父目录(即eraseme目录)
    project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    sys.path.append(project_root)
    

    添加后再执行原有导入语句即可。

  • 方法3:使用模块方式运行脚本
    先进入eraseme目录,再用-m参数以模块形式运行脚本:

    cd /Users/xxxxxxxx/PycharmProjects/eraseme
    python -m Dir2.knowyourguitar
    

    同时需要把导入语句改成相对导入:

    from ..Dir1.guitarClass import Guitar, ElectricGuitar, BassGuitar
    

补充说明:PyCharm中能正常运行是因为IDE自动将项目根目录添加到了Python的sys.path中,但终端默认不会包含该路径,因此需要手动配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:50:34