Setuptools弃用警告下Python/C++包本地构建与Wheel制作问询
解决方案
1. 本地开发构建(替代setup.py develop)
推荐使用pip install -e .命令,这是官方认可的替代方案:
- 执行该命令后,pip会在当前Python环境的
site-packages目录下创建指向项目根目录的链接文件(.egg-link),不会将库文件复制到环境中,避免污染全局环境 - 依然可以在
examples目录下直接import mylib,修改C++或Python代码后,重新执行构建即可生效
如果想彻底隔离全局环境,建议结合虚拟环境使用:
- 创建并激活虚拟环境:
python -m venv .venv && source .venv/bin/activate(Linux/macOS)或.venv\Scripts\activate(Windows) - 激活后执行
pip install -e .
该命令不会触发Setuptools的弃用警告,完全兼容现有项目的setup.py或setup.cfg配置。
2. 生成可分发.whl文件
使用官方推荐的build工具生成wheel包,步骤如下:
- 先安装
build工具:pip install build - 在项目根目录执行构建命令:
python -m build --wheel - 构建完成后,生成的
.whl文件会存放在项目根目录的dist文件夹中,文件名格式类似mylib-<版本号>-cp39-cp39-linux_x86_64.whl
注意事项:
- 确保你的
setup.py或setup.cfg中已正确配置C++扩展的编译参数(比如指定include_dirs=['include']),否则编译会失败 - 如果需要支持多Python版本或跨操作系统,可以在对应环境中单独构建,或使用
cibuildwheel工具实现批量跨平台构建
内容的提问来源于stack exchange,提问作者anurag
相关产品推荐
相关产品推荐

