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

如何在Python库中通过父目录引用实现跨模块导入?

跨模块导入解决方案

你的目录结构

Tools/
  __init__.py
  connector1/
    __init__.py
    connector1.py
  connector2/
    __init__.py
    connector2.py

可行的导入方法

1. 相对导入

在connector2.py中使用相对路径引用:

from ..connector1 import connector1

注意:这种方式下不能直接运行connector2.py,必须从Tools的父目录以包的形式导入使用,比如在父目录下执行:

from Tools.connector2 import connector2

2. 手动添加Python路径

在connector2.py开头加入以下代码,将Tools的父目录添加到Python的搜索路径中:

import sys
from pathlib import Path
# 获取Tools目录的父目录路径并加入sys.path
sys.path.append(str(Path(__file__).parent.parent.parent))

之后就可以直接使用:

from Tools.connector1 import connector1

这种方式支持直接运行connector2.py。

3. 可编辑模式安装库(推荐)

在Tools的父目录下执行以下命令,以可编辑模式安装你的库:

pip install -e .

安装后,Python会将Tools视为正式安装的包,无论在哪个路径下,都可以像Pandas那样使用绝对导入:

from Tools.connector1 import connector1

这是Python库开发的标准流程,能彻底解决导入问题。

关于__init__.py的说明

你之前在Tools/__init__.py中导入相关类未解决问题,是因为仅在__init__.py导入不会自动将包路径加入Python的搜索列表,必须结合上述三种方法之一,才能让子模块正确识别父包的路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 16:09:59