如何在Win10 64位电脑上为32位Python 3.6.x解释器编译构建第三方库并打包支持pip安装
我刚好处理过类似的场景,在64位Win10上为32位Python 3.6构建带C扩展的库,下面是一步步的实操流程,亲测可行:
1. 安装对应版本的32位Python 3.6.x
虽然你的系统是64位,但为了保证构建环境和用户的运行环境完全匹配,你需要安装Win32版本的Python 3.6.x(尽量和用户的小版本一致,比如用户用3.6.8,你就装同一个版本)。
- 去Python官网下载对应安装包,安装时记得勾选"Add Python to PATH",或者手动记录安装路径(比如
C:\Python36-32)。
2. 启动32位MSVC构建环境
打开你安装的Visual Studio对应的x86 Native Tools Command Prompt(比如VS2022的就是这个名字),这个命令行窗口已经自动配置好了32位的MSVC编译工具链,不用手动设置复杂的环境变量。
3. 激活32位Python环境
在刚才打开的命令行窗口里,运行32位Python的激活脚本(如果是系统安装的,直接用下面的命令;如果用虚拟环境,先创建并激活):
C:\Python36-32\Scripts\activate.bat
激活后,命令行前缀会显示(Python36-32),说明现在用的是32位的Python环境。
4. 更新构建工具
在激活的环境里,先把pip、setuptools、wheel更新到兼容3.6的最新版本,避免构建时出问题:
pip install --upgrade pip setuptools wheel
如果想用更现代的build工具,也可以安装:
pip install build
5. 获取目标库的源代码
有两种方式:
- 从PyPI下载纯源码包:
然后解压下载的压缩包,进入解压后的目录。pip download --no-binary :all: <你的库名称> - 直接克隆库的Git仓库(如果有源码地址):
git clone <仓库地址> cd <仓库目录>
6. 编译并构建Win32版本的wheel包
方法一:用setuptools传统方式
在库的根目录下运行:
python setup.py bdist_wheel --plat-name win32
方法二:用build工具(推荐,更规范)
python -m build --wheel --no-isolation --plat-name win32
--plat-name win32是关键参数,它告诉构建工具生成适配32位Windows的二进制包。
构建完成后,你会在项目根目录的dist文件夹里看到一个类似your-library-1.0.0-cp36-none-win32.whl的文件,这个就是给用户的适配包。
7. 让用户安装
把这个wheel文件传给用户,让他在自己的32位Python 3.6环境里运行:
pip install <wheel文件的本地路径>
比如用户把文件放在桌面,就是:
pip install C:\Users\用户名\Desktop\your-library-1.0.0-cp36-none-win32.whl
注意事项
- 确保你用的Python 3.6.x小版本和用户完全一致,避免因Python API细微差异导致的兼容性问题。
- 如果目标库依赖其他带C扩展的第三方库,你需要用同样的方法编译这些依赖的Win32版本,否则用户安装时可能会触发本地编译(而用户没有编译工具)。
- 构建过程中如果遇到编译错误,先检查库的文档是否有针对Win32环境的特殊编译要求,比如需要额外的依赖库或者编译参数。
内容的提问来源于stack exchange,提问作者Emmanuel

