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

无需修改sys.path,如何从Python项目根目录导入模块?

解决方案:利用Python包结构与模块运行方式

以下是无需修改sys.path、不用移回主脚本的官方标准方法:

1. 将项目配置为正规Python包

  • 在项目根目录创建pyproject.toml(旧版可使用setup.py),声明这是一个可安装的包。示例pyproject.toml内容:
    [build-system]
    requires = ["setuptools>=61.0"]
    build-backend = "setuptools.build_meta"
    
    [project]
    name = "your_project_name"
    version = "0.1.0"
    
  • 执行pip install -e .以开发模式安装包。之后无论在项目哪个目录,都能直接通过from lib.utils import function导入模块,因为包已被Python识别为全局可导入项,同时不影响lib内部的相对导入。

2. 使用-m参数以模块方式运行脚本

  • 切换到项目根目录,用模块路径的方式运行realtime下的script.py:
    python -m realtime.script
    
    这种运行方式会自动将项目根目录加入Python模块搜索路径,把整个项目当作包处理,既满足script.py的跨目录导入需求,也不会破坏lib内部的相对导入逻辑。

3. 将脚本目录设为子包(可选补充)

  • 若不想安装包,可在realtime目录下创建空的__init__.py文件,将其标记为Python子包,之后配合方法2的-m参数运行即可达到同样效果。

注:以上方法均为Python官方文档推荐的模块导入规范,完全无需手动修改sys.path或移动脚本位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 12:29:51