Выполните скрипт установки Python после установки, используя distutils / setuptools

Я пытаюсь добавить задачу после установки в дистрибутив Python, как описано вКак расширить distutils с помощью простого скрипта после установки?, Задача должна выполнить скрипт Pythonв установленной директории lib, Этот скрипт генерирует дополнительные модули Python, необходимые для установленного пакета.

Моя первая попытка выглядит следующим образом:

from distutils.core import setup
from distutils.command.install import install

class post_install(install):
    def run(self):
        install.run(self)
        from subprocess import call
        call(['python', 'scriptname.py'],
             cwd=self.install_lib + 'packagename')

setup(
 ...
 cmdclass={'install': post_install},
)

Этот подход работает, но, насколько я могу судить, имеет два недостатка:

Если пользователь использовал интерпретатор Python, отличный от того, который был взят изPATH, скрипт после установки будет выполнен сразные интерпретатор, который может вызвать проблемы.Это небезопасно против пробного запуска и т. Д., Который я мог бы исправить, обернув его в функцию и вызвав егоdistutils.cmd.Command.execute.

Как я могу улучшить свое решение? Есть ли рекомендуемый способ / лучшие практики для этого? Я хотел бы, если это возможно, избежать другой зависимости.

Ответы на вопрос(2)

Ваш ответ на вопрос