Python的setup.py:如何为不同的平台安装不同的文件

时间:2011-09-30 06:40:12

标签: python cross-platform setuptools distutils setup.py

我正在编写一个跨平台的软件包,需要为不同的平台包含不同的二进制文件(例如Linux / MAC OS / Windows甚至32位/ 64位Windows)

我需要我的软件包的setup.py来安装基于该平台的不同二进制数据文件。问题是我需要将所有平台的数据文件包含在包中,它们可能具有相同的名称但内容不同。

有人可以建议如何使用distutils / setuptools setup.py吗?

1 个答案:

答案 0 :(得分:1)

这不是太难,至少在简单的情况下:你可以看看Python包的不确定性的setup.py是如何做的(它根据Python的版本选择一个安装目录,但你会简单地检查sys.platform和朋友,在你的情况下)。

关键线是

if sys.version_info >= (2, 5):
    package_dir = 'uncertainties-py25'
else:
    package_dir = 'uncertainties-py23'

distutils.core.setup(
    …
    # Where to find the source code:
    package_dir={'uncertainties': package_dir},
    …
)