Как мне включить стороннюю программу в колеса платформы Python?Python

Программы на Python
Anonymous
Как мне включить стороннюю программу в колеса платформы Python?

Сообщение Anonymous »

Существует сторонняя программа (

Код: Выделить всё

VeraCrypt
), который я хотел бы использовать в Python, поэтому я рассматриваю возможность создания пакета Python на его основе. Я хочу сделать так, чтобы, если вы загрузите пакет, он «просто работал» и не полагался на предустановленную версию veracrypt. Затем я могу использовать подпроцесс Python для вызова CLI veracrypts и иметь класс, в котором абстрагированы различные команды монтирования/размонтирования и т. д.
Проблема в том, что вы посмотрите на их страницу загрузок, там нет двоичных файлов, только форматы пакетов (exe, rpm, deb и т. д.).
  • Для Windows это правильная идея для использования версию Portable exe и добавить ее непосредственно в setup.py с помощью package_data? Я бы хотел, чтобы он был включен только для платформы Windows, а не для Linux. Я думаю, мне нужно, чтобы setup.py выяснил, для какой платформы он сейчас создается, и соответствующим образом скорректировал этот список package_data?

    Технически переносимый режим должен запускаться от имени пользователя root, но я могу использовать это запасной вариант, если он здесь не установлен в системе.
[*]Для Linux, я предполагаю, есть нет возможности напрямую использовать что-либо, предварительно созданное на странице загрузок (deb, rpm). Но это может сработать. Является ли «лучшим методом» путь компиляции veracrypt и получения исполняемого файла, создания колеса, а затем попытки запустить на нем Auditwheel, чтобы получить колесо ManyLinux? Тогда мне нужно будет собрать только один для "всего Linux".

И оттуда просто используйте importlib.resources чтобы получить любой двоичный файл, который был включен в колесо вашей конкретной платформы, и сохранить путь к нему для подпроцесса. (Разве, может быть, мне стоит каким-то образом сохранить путь, когда я выясню, какой двоичный файл включить в список package_data?). У меня есть опыт работы с пакетами на чистом Python, но я впервые задумываюсь о том, чтобы добавить в один двоичный файл и при этом сделать его кроссплатформенным.
Причина, по которой я этого не делаю. Нельзя просто использовать криптографию Python, ведь veracrypt предлагает множество функций, которых нет у других инструментов.

Подробнее здесь: https://stackoverflow.com/questions/790 ... orm-wheels

Вернуться в «Python»