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

Python自定义库重命名:实现直接import my_lib的方法

解决Python库直接import my_lib的导入问题

问题根源

你之前只修改了子包的__init__.py,但没正确配置setup.py的包结构,导致安装后my_lib仍属于lib的子模块,无法直接导入。

具体操作步骤

  • 修正lib/my_lib/__init__.py的导入语句
    你的__init__.py位于my_lib目录下,应该用相对导入而非绝对导入,把之前的代码改成:

    # lib/my_lib/__init__.py
    from .my_lib import my_lib
    # 如果需要导出my_lib.py里的所有内容,也可以写:from .my_lib import *
    
  • 修改setup.py的核心配置(最关键)
    配置setup.py让Python把lib目录下的my_lib识别为顶级包,示例配置如下:

    from setuptools import setup, find_packages
    
    setup(
        name="my_lib",
        version="0.1.0",
        package_dir={"": "lib"},  # 指定顶级包的根目录为lib文件夹
        packages=find_packages(where="lib"),  # 从lib目录下扫描所有包
        # 按需补充其他配置:author、description、install_requires等
    )
    
  • 重新发布测试
    用Jenkins重新构建发布,或者先本地测试安装:

    pip install -e .
    

    安装完成后,就能直接用import my_lib或者from my_lib import my_lib导入你的模块了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 19:52:15