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

如何通过Python-Poetry为Python包设置不同的导入名称?

实现Python包导入名与目录名不一致(Poetry环境)

方法一:通过Poetry配置与包重定向实现(推荐)

  1. 修改pyproject.toml,将包的正式名称设为project,同时保留原目录路径:
[tool.poetry]
name = "project"
packages = [
    { include = "python", from = "src" }
]
  1. 在src/python/目录下创建project子目录,把原本放在src/python/下的所有代码文件(模块、子包等)移动到src/python/project/中。

  2. 在src/python/__init__.py中添加导出逻辑,让project成为可直接导入的顶层包:

from .project import *

完成后,用户在Python环境中执行import project即可访问原src/python/下的代码,目录结构依然保持src/python/不变。

方法二:通过模块别名快速实现(简单场景适用)

如果不想调整内部目录结构,可直接在src/python/__init__.py中添加别名逻辑:

import sys
from . import *

# 将project模块指向当前的python模块
sys.modules['project'] = sys.modules['python']

同时确保pyproject.toml中的包名称设为project:

[tool.poetry]
name = "project"
packages = [
    { include = "python", from = "src" }
]

这种方法无需移动代码,但部分IDE的自动补全功能可能无法完美识别别名,适合简单项目快速使用。

内容的提问来源于stack exchange,提问作者dd-mck

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 01:09:58