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

使用Python -m运行脚本时遇ImportError: No module named my_package求助

问题原因与解决方法

核心问题:python -m的用法错误

你使用python -m /home/user/PYTHON_DEV/ROSBag_Automation/ProjectFolder/main的方式不符合Python模块运行规则:-m参数后必须跟点分隔的模块名(如ProjectFolder.main),而非文件绝对路径。这种错误用法会导致Python无法正确解析项目的包结构,进而触发ImportError。

另外,直接运行python main.py能正常工作的原因是:Python会自动将脚本所在目录(ProjectFolder)添加到sys.path,此时my_package就在该目录下,自然能被找到——你代码中手动添加父目录到sys.path的操作其实是多余的。

解决方法

方法1:使用正确的python -m命令

  1. 切换到ProjectFolder的父目录:
    cd /home/user/PYTHON_DEV/ROSBag_Automation
    
  2. 在激活的虚拟环境中运行:
    python -m ProjectFolder.main
    

方法2:简化main.py代码(可选)

既然直接运行脚本时Python会自动处理路径,你可以删除main.py中手动添加路径的代码,简化后的代码如下:

from my_package import my_module as test

test.doSomething()
print("done")

修改后,无论是直接运行python main.py,还是用方法1的-m命令,都能正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:55:24