Определить root_path (--root) в setuptools

Есть ли способ в setup.py знать root_path переменная.

С root_path Переменная я ссылаюсь на каталог, указанный как --root,

Например, в этом случае:

python2 setup.py install --root=/home/drizzt/test --optimize=1

Мне нужно найти способ иметь /home/drizzt/test

1 ответ

setup функция возвращает setuptools.dist.Distribution объект, который может быть использован для восстановления этой информации. Во-первых, он содержит словарь аргументов командной строки для подкоманд; который доступен через get_cmdline_options метод. Во-вторых, вы можете попросить его вернуть вам командный объект (в данном случае "install", который на самом деле является экземпляром setuptools.command.install.install), которая имеет свойство под названием root он будет содержать корневой каталог, указанный в командной строке.

dist = setup(< all your setup arguments >)
print(dist.get_cmdline_options())
icmd = dist.get_command_obj('install')
print(icmd.root)

Должен производить что-то вроде...

< All your normal setup output >
...
{'install': {'root': '/home/drizzt/test', 'optimize': '1'}}
/home/drizzt/test
Другие вопросы по тегам