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

如何在不使用sys.path的情况下,从同级目录将test.py导入至app.py?

无需sys.path在app.py中导入test.py的实现方法

确认文件结构

根据描述,你的文件结构应为:

项目根目录/
├── Main/
│   └── app.py
└── package/
    └── test.py

方法1:绝对导入(推荐方案)

  • 在package目录下创建空的__init__.py文件,将其标记为Python可识别的规范包:
    package/
    ├── __init__.py
    └── test.py
    
  • 在app.py中写入绝对导入代码:
    from package import test
    
  • 从项目根目录执行启动命令:
    python Main/app.py
    

方法2:相对导入(需按模块方式运行)

  • 给Main和package目录都添加空的__init__.py文件:
    项目根目录/
    ├── Main/
    │   ├── __init__.py
    │   └── app.py
    └── package/
        ├── __init__.py
        └── test.py
    
  • 在app.py中使用相对导入语法:
    from ..package import test
    
  • 从项目根目录以模块形式启动app.py:
    python -m Main.app
    

方法3:安装为可编辑包(适合长期开发)

  • 在项目根目录创建pyproject.toml文件,内容如下:
    [build-system]
    requires = ["setuptools>=61.0"]
    build-backend = "setuptools.build_meta"
    
    [project]
    name = "package"
    version = "0.1.0"
    
  • 在项目根目录执行命令,将package安装为可编辑包:
    pip install -e .
    
  • 此时在app.py中可直接使用绝对导入,且不受运行目录限制:
    from package import test
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:55:32