Все параметры после установки для python setuptools сломаны?

Я пытаюсь упаковать сборку PyQt (установщики не предоставляются для нужной мне конфигурации), но я не могу найти какую-либо конфигурацию упаковки, которая работает. Однако проблема не связана с PyQt.

Проблема: для того, чтобы модуль работал, ему нужен файл в каталоге PREFIX python. Я понимаю, что это может быть плохая форма, но в моем случае там должен быть файл qt.conf, и я ничего не могу с этим поделать, кроме как сделать файл доступным. Мне нужно запустить post-install script, чтобы создать файл с установленным пулом PyQt. Или, по крайней мере, это похоже на лучшее решение.

Параметры, на которые я смотрел:

  • Я могу использовать python setup.py для установки и переопределения класса setuptools.command.install. Однако это работает, когда setup.py запускается вручную и требует разархивирования bdist и наличия приглашения cmd в папке пакета. Он не работает для bdist_wininst, bdist_msi или bdist_wheel, которые гораздо удобнее устанавливать (точка упаковки). Это возможно, но не очень хорошее решение.

  • bdist_wheel кажется хорошим вариантом, но он ничего не запускает после установки и помещает файлы только в определенные папки, не включая PREFIX.

  • bdist_wininst поддерживает пост-установку script (через --install- script при создании пакета), но не играет хорошо с virtualenv. Существует ответ qaru.site/info/4197/..., в котором предлагается запустить easy_install или преобразование колес, но эти параметры только распаковывают, они не будут запускать установку script. В противном случае вам придется изменить реестр, что не является приемлемым решением.

Что мне не хватает? Существует ли жизнеспособный вариант?

Ответ 1

Как объясняет kynan, чтобы получить контроль, нужно определить "установить класс", чтобы переопределить run().