You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何重新打包Python的bitarray包以向无VC++构建工具的环境分发?

能否直接重新打包bitarray分发?

当然可以,但得用对方法——你需要打包预编译的二进制wheel包,而不是重新打包源码包,不然同事安装时还是会遇到和你一样的VC Build Tools要求问题。

为什么不能直接打包源码包?

你之前安装bitarray时,因为没有适配你环境的预编译wheel,pip会自动从源码编译安装,这才需要Microsoft Visual C++ Build Tools。如果直接把源码包(比如用sdist生成的.tar.gz.zip)分发给同事,他们的pip同样会尝试编译源码,还是会报错要求安装VC工具。

正确的打包分发步骤

  1. 先确保你本地已经安装好wheel工具:
    pip install wheel
    
  2. pip wheel命令打包你本地已经编译好的bitarray:
    pip wheel bitarray
    
    执行完后,当前目录会生成一个类似bitarray-<版本号>-cp36-cp36m-win_amd64.whl的文件(如果是32位Windows系统,文件名里会是win32)。这个文件名里的cp36对应Python 3.6,win_amd64对应64位系统,要和同事的Python版本、系统位数完全匹配,否则wheel包无法兼容。
  3. 将生成的.whl文件发给同事,他们只需要执行以下命令就能直接安装,全程不需要VC Build Tools:
    pip install bitarray-<版本号>-cp36-cp36m-win_amd64.whl
    

注意事项

  • 如果同事的Python版本不是3.6.x,或者系统位数和你的不同,这个wheel包就无法使用,你需要在对应环境下重新打包。
  • 尽量确保同事的Windows系统版本和你一致(都是Win7 Enterprise),同版本Python同位数的wheel一般兼容同系列Windows,但提前测试能避免意外问题。

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

火山引擎 最新活动