【发布时间】:2015-01-17 10:37:34
【问题描述】:
我知道可以强制 sdist 从命令行生成 .zip:
python setup.py sdist --formats=zip
但是如何将此选项设为我的setup.py 的默认选项?
我希望在 Windows 和 Linux 上运行 setup.py sdist 时保持一致,我选择 .zip 格式,因为我可以 turn .zip into executable。
【问题讨论】:
我知道可以强制 sdist 从命令行生成 .zip:
python setup.py sdist --formats=zip
但是如何将此选项设为我的setup.py 的默认选项?
我希望在 Windows 和 Linux 上运行 setup.py sdist 时保持一致,我选择 .zip 格式,因为我可以 turn .zip into executable。
【问题讨论】:
我自己从 distutils 文档 here 和 here 以及 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},
)
【讨论】: