2016-02-29 2 views
0

Есть ли способ в setup.py знать переменную root_path.Обнаружение root_path (--root) в setuptools

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

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

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

мне нужно найти способ, чтобы /home/drizzt/test

ответ

0

setup функция возвращает setuptools.dist.Distribution объект, который может быть использован для восстановления этой информации. Во-первых, он сохраняет словарь аргументов командной строки, предоставляемых подкомандам; который доступен через метод get_cmdline_options. Во-вторых, вы можете попросить его вернуть вам объект команды (в данном случае «установить», который на самом деле является экземпляром 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 
Смежные вопросы