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

如何在Pip安装的Python包子模块中引用根目录模块?

解决Python包内跨目录模块引用问题

针对你的情况,有两种可靠的解决方式:

1. 绝对导入(推荐用于已pip安装的包)

因为你的包已经通过pip安装,Python会将my_package识别为顶级包,所以需要从包名开始完整引用模块。修改do_stuff_x.py中的导入语句为:

from my_package.request_models import MyModel

这种方式无论包被安装到哪个环境,都能稳定找到目标模块。

2. 相对导入(仅用于包内部开发调试)

如果是在包的开发阶段调试代码,可以使用相对路径导入,通过..表示上一级目录(从model目录回到my_package根目录):

from ..request_models import MyModel

注意:相对导入不能直接运行do_stuff_x.py文件,只能在该文件作为包的一部分被其他代码导入时生效。

额外注意事项

  • 确保src/my_package目录下存在空的__init__.py文件,虽然Python 3.3+支持无该文件的命名空间包,但添加它能提升兼容性和包结构的明确性。
  • 可以用pip show my_package命令查看包的安装路径,确认安装的文件结构和你本地开发的一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:42:43