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
相关产品推荐
相关产品推荐

