Poetry构建wheel包时能否下载依赖用于离线安装?
Poetry构建时自动打包全部依赖到Wheel的实现方案
标准Python wheel包默认遵循PEP规范不会内嵌依赖项,要实现离线安装需求,可通过Poetry官方bundle插件完成捆绑构建,操作步骤如下:
- 第一步:安装官方bundle插件
先确认你的Poetry版本 >=1.4.0,版本不够可先执行poetry self update升级,之后执行插件安装命令:poetry self add poetry-plugin-bundle - 第二步:修改项目配置
在项目根目录的pyproject.toml文件中添加如下配置,开启依赖打包规则:[tool.poetry.bundle.wheel] include-dependencies = true - 第三步:执行捆绑构建
不要使用默认的poetry build命令,改用插件提供的构建指令:poetry bundle wheel --output ./dist
执行完成后,包含全部依赖的wheel文件会输出到项目的dist目录下,可直接在无网络环境下通过pip install 对应包名.whl完成全量安装。
注意事项
- 生成的捆绑wheel不符合PyPI公开上传规范,仅适合内部离线部署场景使用,请勿上传到公开包索引仓库
- 若项目包含平台相关的二进制依赖(如numpy、PyTorch等),需保证构建环境与离线部署环境的操作系统、Python版本、CPU架构完全一致,否则会出现安装兼容问题
- 若依赖来自私有源,可在构建命令后添加
--index-url 你的私有源地址参数指定拉取源,避免依赖下载失败
内容的提问来源于stack exchange,提问作者CodeMonkey74
相关产品推荐
相关产品推荐

