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

Python如何正确创建并导入自定义模块解决多场景导入报错问题

实现方案
  • 第一步:在/root/my_module目录下新增一个空的__init__.py文件,该文件是Python识别目录为合法包的标准标识,不需要填写任何内容,不属于修改现有导入逻辑。
  • 第二步:调整bar.py的单独运行方式,全程不需要修改任何现有代码的import语句:
    1. 运行main.py:保持原有逻辑,在/root目录下执行python main.py即可正常运行
    2. 单独运行bar.py:不要进入my_module目录执行python bar.py,改为在/root目录下执行python -m my_module.bar

原理说明

Python的-m参数会将指定的包内模块当作脚本来运行,运行时会自动将当前执行命令的工作目录(即项目根目录/root)加入模块搜索路径,同时保留完整的包层级结构,既可以满足main.py导入时的包层级查找逻辑,也可以满足bar.py单独运行时同目录模块的查找需求,完全符合Python官方的包管理规范,不需要手动调整sys.path,天然适配嵌套层级较深的包结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:27:03