在setup.py

时间:2018-08-10 19:29:18

标签: python setuptools

setuptools的bdist_wheel / bdist_egg命令具有一个--plat-name参数,该参数允许覆盖主机平台名称。该值将附加到结果文件的名称上,例如mypackage-1.2.3-py2.py3-none-manylinux1_x86_64.whl

如何在setup.py中读取此值?请注意,我不是在不是询问脚本在其上运行的主机平台,例如platform.system()。我想要setuptools使用的平台名称。

1 个答案:

答案 0 :(得分:3)

bdist_egg中(只有它; bdist_wheel仅运行bdist_egg),--plat-name参数存储在self.plat_name中。因此,您可以使用自定义类覆盖bdist_egg并使用self.plat_name

from setuptools.command.bdist_egg import bdist_egg as _bdist_egg
from setuptools import setup

class bdist_egg(_bdist_egg):
    def run(self):
        # Use self.plat_name before building an egg…
        _bdist_egg.run(self)
        # …or after

setup(
    …
    cmdclass={
        'bdist_egg': bdist_egg,
    },
    …
)