Setup.py в Python: как установить разные файлы для разных платформ - PullRequest
3 голосов
/ 30 сентября 2011

Я пишу кроссплатформенный пакет, который должен включать разные двоичные файлы для разных платформ (например, Linux / MAC OS / Windows и даже 32-битная / 64-битная Windows)

Мне нужен файл setup.py моего пакета для установки различных двоичных файлов данных в зависимости от платформы. Проблема в том, что мне нужны файлы данных для всех платформ, которые должны быть включены в пакет, где они могут иметь одинаковое имя, но разное содержимое.

Может кто-нибудь подсказать, как это сделать с помощью distutils / setuptools setup.py?

1 Ответ

1 голос
/ 30 сентября 2011

Это не так сложно, по крайней мере, в простых случаях: например, вы можете увидеть, как setup.py пакета неопределенностей Python делает это (он выбирает установочный каталог на основе версии 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},
    …
)
...