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

无法修改脚本时,执行python something/appl.py如何规避ModuleNotFoundError

问题:解决Python模块导入错误的方案

目录结构与文件内容

  • 文件夹:something
    • 文件1:constants.py
      THEKONST = 5
      
    • 文件2:appl.py
      from something.constants import THEKONST
      
      print(THEKONST)
      

问题描述

执行命令 python something/appl.py 时,出现 ModuleNotFoundError: No module named 'something' 错误,要求在无法修改脚本代码及其导入方式的前提下,解决该问题。

补充说明

Trevor提供的方法已生效;此前用相同代码尝试未成功,删除内容后改用touch命令创建文件并粘贴代码后成功,暂未明确失败原因。


解决方案

方法1:临时添加父目录到Python路径

执行命令前,将something文件夹的父目录加入PYTHONPATH环境变量,让Python能定位到something模块:

  • Linux/macOS终端:
    export PYTHONPATH=$(pwd) && python something/appl.py
    
  • Windows命令提示符:
    set PYTHONPATH=%cd% && python something/appl.py
    
  • Windows PowerShell:
    $env:PYTHONPATH = Get-Location; python something/appl.py
    

方法2:以模块方式运行脚本

切换到something的父目录,使用-m参数以模块形式执行appl.py,Python会自动将当前目录视为包根目录:

python -m something.appl

方法3:将something标记为Python包

在something文件夹内创建空的__init__.py文件,让Python识别该文件夹为可导入的包:

touch something/__init__.py

之后再执行python something/appl.py即可正常运行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 04:43:15