У меня есть программа командной строки (foo
), написанная на эзотерическом языке программирования. Я хотел бы распространять эту программу как часть существующего пакета Python, который использует setuptools. foo
должен отображаться в пути пользователя и быть исполняемым из командной строки, во многом аналогично поведению distutil скрипты или setuptools' entry_points.
Я могу кросс-компилировать программу для каждой платформы, а затем собрать отдельное яйцо для каждой платформы с бинарным файлом foo
для конкретной платформы. Проблема в том, что я не знаю, как убедить setuptools скопировать двоичный файл в подходящее для платформы место в целевой системе.
Например, я попытался использовать директиву scripts
:
setup(
...
scripts=["foo"]
...
)
но, похоже, setuptools не любит «скрипт» с данными, отличными от utf8.
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 0: invalid continuation byte
Я мог бы объявить его как ресурс, но это не поставило бы его на путь пользователя.
Как отправить бинарную утилиту командной строки в составе пакета Python?