As seen in previous examples, basic use of this script is:
python setup.py install
But there is even more options, like installing the package and have the possibility to change the code and test it without having to re-install it. This is done using:
python setup.py develop
If you want to perform specific actions like compiling a Sphinx documentation or building fortran code, you can create your own option like this:
cmdclasses = dict()
class BuildSphinx(Command):
"""Build Sphinx documentation."""
description = 'Build Sphinx documentation'
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
import sphinx
sphinx.build_main(['setup.py', '-b', 'html', './doc', './doc/_build/html'])
sphinx.build_main(['setup.py', '-b', 'man', './doc', './doc/_build/man'])
cmdclasses['build_sphinx'] = BuildSphinx
setup(
...
cmdclass=cmdclasses,
)
initialize_options
and finalize_options
will be executed before and after the run
function as their names suggests it.
After that, you will be able to call your option:
python setup.py build_sphinx