Python setuptools пользовательская конфигурация

Я являюсь упаковочным модуль Python, и я хотел бы, чтобы пользователи смогли создать модуль с некоторыми пользовательскими опциями. А именно, пакет сделает некоторое дополнительное волшебство, если Вы предоставите ему определенные исполняемые файлы, которые это может использовать.

Идеально, пользователи работали бы setup.py install или setup.py install --magic-doer=/path/to/executable. Если они использовали вторую опцию, я установил переменную где-нибудь в коде и иду оттуда.

Это возможное с Python setuptools? Если так, как я делаю это?

6
задан hopper 23 July 2013 в 16:08
поделиться

1 ответ

Кажется, вы можете ... прочитать это .

Выдержка из статьи:

Команды - это простой класс, производный от setuptools.Command и определяющий некоторые минимальные элементы, а именно:

description: describe the command
user_options: a list of options
initialize_options(): called at startup
finalize_options(): called at the end
run(): called to run the command

Документ setuptools по-прежнему не содержит сведений о подклассе Command, но минимальный класс будет выглядеть следующим образом:

 class MyCommand(Command):
     """setuptools Command"""
     description = "run my command"
     user_options = tuple()
     def initialize_options(self):
         """init options"""
         pass

     def finalize_options(self):
         """finalize options"""
         pass

     def run(self):
         """runner"""
         XXX DO THE JOB HERE

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

 setup(
     # ...
     entry_points = {
     "distutils.commands": [
     "my_command = mypackage.some_module:MyCommand"]}
6
ответ дан 17 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: