新增安裝選項

如前面的示例所示,此指令碼的基本用法是:

python setup.py install

但是還有更多的選擇,比如安裝軟體包,可以更改程式碼並對其進行測試,而無需重新安裝。這是使用:

python setup.py develop

如果要執行特定操作(如編譯 Sphinx 文件或構建 fortran 程式碼),可以建立自己的選項,如下所示:

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_optionsfinalize_options 將在 run 函式之前和之後執行,正如他們的名字所暗示的那樣。

之後,你可以撥打你的選項:

python setup.py build_sphinx