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

如何让PyPI包dcode.py支持以import dcode导入?

解决PyPI包名含.时的导入别名问题

核心思路

和discord.py、py-cord的实现逻辑一致:PyPI包名(用于pip install)和Python实际导入的包名可以完全分离——你只需保留PyPI上的包名为dcode.py,但把项目里的实际包目录命名为dcode即可。

具体步骤

  1. 调整项目目录结构
    你的项目根目录必须遵循这个结构(关键是实际导入的包目录为dcode):

    dcode.py/
    ├── dcode/
    │   ├── __init__.py  # 必须存在,空文件也可
    │   └── 你的业务代码模块.py
    ├── pyproject.toml
    ├── README.md
    └── LICENSE
    

    你之前的导入错误,本质是项目结构错误——没有创建正确的dcode目录,反而用了和PyPI包名相关的dcode.py或dcode_py目录,导致Python找不到可导入的模块。

  2. 保留pyproject.toml的包名设置
    无需修改pyproject.toml里[project]下的name = "dcode.py",这个名称是给PyPI用的,用户执行pip install dcode.py时会识别它。

  3. 重新构建并上传包
    安装工具后重新打包上传到PyPI:

    pip install build twine
    python -m build
    twine upload dist/*
    
  4. 验证导入效果
    用户安装包后,直接执行import dcode就能正常导入你的模块,无需带.py后缀。

补充说明

你之前尝试import dcode_py失败,是因为PyPI处理含.的包名时,会临时将.替换为_作为安装目录名,但这不是实际的导入包名——真正决定导入名称的是你项目里的包目录名,所以必须确保目录名是dcode。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:15