使用 python3 和 python2 构建分发包之间的区别?

Difference between building distribution packages with python3 and python2?

我正在尝试使用此 doc

构建 python 包

我有几个问题

  1. 使用 python2 和 python3.

  2. 工具(setuptools 和 wheel)生成的 wheel 包有什么不同吗
  3. python3 setup.py bdist_wheel 生成的包是否与 python2 兼容,反之亦然(假设源代码与两者兼容版本)。

Is there any difference in wheel packages generated using tools(setuptools and wheel) with python2 versus python3.

由于不同的 zip 压缩算法,可能存在一些字节对字节的差异,但没有有意义的差异,除了...

Are packages generated by python3 setup.py bdist_wheel compatible with python2 and vice versa (assuming the source code is compatible with both versions).

默认情况下,Python2的轮子只对Python2有效,Python3的轮子只对[=21=有效] 3. 这可以通过将以下内容添加到项目的 setup.cfg 文件来更改:

[bdist_wheel]
universal = 1

添加此选项后,生成的轮子将 "universal",与 Python 2 和 Python 3 兼容。