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

如何设计Python模块以支持开发时运行内部脚本?

解决Python模块内部脚本开发阶段运行问题

针对你遇到的相对导入报错问题,以下几种方案可以让模块内部的脚本在开发阶段正常运行:

方案1:以模块形式运行脚本

在项目根目录(包含test.py的目录)执行以下命令,通过-m参数将core.py作为module包的子模块运行:

python -m module.core

这种方式会让Python将module识别为合法包,相对导入逻辑自然生效,无需修改代码。

方案2:修改导入逻辑兼容两种场景

修改core.py的导入代码,判断脚本运行方式,动态调整导入路径:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
from pathlib import Path

def print_values():
    print(values)

if __name__ == '__main__':
    # 直接运行脚本时,把项目根目录加入Python搜索路径
    root_dir = Path(__file__).parent.parent
    sys.path.append(str(root_dir))
    from module.helpers import values
    print_values()
else:
    # 作为模块被导入时,使用相对导入
    from .helpers import values

这样不管是通过test.py导入使用,还是直接运行core.py,都能正确加载values变量。

方案3:设置PYTHONPATH环境变量

在module目录运行脚本前,将项目根目录添加到PYTHONPATH:

  • Linux/macOS终端:
export PYTHONPATH=$(pwd)/..
python core.py
  • Windows命令提示符:
set PYTHONPATH=%cd%\..
python core.py

该环境变量会告诉Python优先搜索指定路径下的包,让相对导入能识别到父包结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 10:01:44