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

Python模块导入报错:No module named 'root_package' 求助

解决Python模块导入错误:No module named 'root_package'

问题原因

你在root_package\write_to_file目录下直接运行python write.py时,Python的模块搜索路径(sys.path)里没有包含root_package的上级目录,导致Python无法识别root_package作为可导入的包。

解决方案

方法1:在root_package目录下运行脚本(推荐)

切换到root_package目录,执行以下命令:

python -m write_to_file.write

这种方式会让Python自动将root_package所在目录加入搜索路径,原导入语句from root_package.main_package.main import getProduct无需修改即可正常工作。

方法2:在write.py中临时添加路径

在write.py的最开头添加代码,手动将root_package目录加入Python的搜索路径:

import sys
import os

# 获取当前脚本的绝对路径,向上回溯一级得到root_package目录
root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(root_dir)

# 正常执行导入
from root_package.main_package.main import getProduct

添加后,你可以继续在root_package\write_to_file目录下执行python write.py。

方法3:设置PYTHONPATH环境变量(永久生效)

将root_package所在的上级目录添加到PYTHONPATH环境变量中,让Python永久识别该路径下的包:

  • Windows:
    命令行临时生效:
    set PYTHONPATH=你的root_package所在上级目录路径;%PYTHONPATH%
    
    永久生效:打开系统环境变量设置,新增PYTHONPATH变量,值为root_package所在的上级目录路径。
  • Linux/macOS:
    终端临时生效:
    export PYTHONPATH="/你的root_package所在上级目录路径:$PYTHONPATH"
    
    永久生效:把上述命令添加到~/.bashrc(bash)或~/.zshrc(zsh)文件中,保存后重启终端。

设置完成后,无论在哪个目录运行write.py,原导入语句都能正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 11:22:06