即使在 Linux 上也强制 `sdist` 创建 .zip 存档

Force `sdist` to create .zip archive even on Linux

我知道可以强制 sdist 从命令行生成 .zip:

python setup.py sdist --formats=zip

但是如何使这个选项成为我的 setup.py 的默认选项?

我想在 Windows 和 Linux 上获得 运行 setup.py sdist 的一致性,我选择 .zip 格式,因为我可以 turn .zip into executable.

我自己从 distutils 文档中找到的 here and here, and from distutils sources:

# Override sdist to always produce .zip archive
from distutils.command.sdist import sdist as _sdist
class sdistzip(_sdist):
    def initialize_options(self):
        _sdist.initialize_options(self)
        self.formats = 'zip'

setup(
    ...
    cmdclass={'sdist': sdistzip},
)