[setuptools] conditionally installing scripts based on extras require
I have a setup.py like this: [...] extras_require = {'foo': 'pkginfo'}, [...] entry_points = {'console_scripts': [ 'bar=myapp.bar:main', 'foo=myapp.foo:main [foo]', ]} [...] When I do a 'python setup.py install', the package 'pkginfo' is *not* installed as expected. However, the script 'foo' *is* installed. This is somewhat ironic .. because `foo' as per the definition depends on the 'foo' feature; yet installing 'myapp' (without 'foo' feature) installs the script 'foo'. 1) What is the rationale behind this behavior? setuptools documentation reads: "[...] if Project A includes a "rst2pdf" script, it might declare it like this, so that the "PDF" requirements are only resolved if the "rst2pdf" script is run". Why install a script if the user installed a distribution without a particular feature that this script depends on? 2) Is there a workaround to tell setuptools *not* to install scripts depending on features not asked for? -srid
participants (1)
-
Sridhar Ratnakumar