python setuptools开发的参数

时间:2017-04-13 18:26:16

标签: python setuptools

我的setup.py文件中定义了一个名为CustomCSS的自定义命令。该命令接受两个参数,并对其进行一些处理。参数定义如下:

class CustomCSS(BaseCommand):
    description = "Site level customizations"
    user_options = [
        ('css=', None, 'Specify the path to the custom css file'),
        ('logo=', None, 'Specify the logo to use'),
    ]

在我的run方法中,我可以使用以下参数:

def run(self):
    if not self.should_run():
        print('No Custom CSS or logo')
        return

我的命令映射是:

setup_args['cmdclass'] = {
    'custom': CustomCSS,
    'js': Bower,
    'css': CSS,
    'build_py': js_css_first(build_py, strict=is_repo),
    'sdist': js_css_first(sdist, strict=True),
    'bdist_egg': bdist_egg if 'bdist_egg' in sys.argv else bdist_egg_disabled,
}

此命令独立工作,并接受参数。但是,我还需要使用python setup.py develop运行此命令。我设法使用以下代码添加使用python setup.py develop运行的命令:

from setuptools.command.develop import develop
class develop_js_css(develop):
    def run(self):
        if not self.uninstall:
            self.distribution.run_command('custom')
            self.distribution.run_command('js')
            self.distribution.run_command('css')

但是,develop命令不接受参数。我尝试使用与CustomCSS命令相同的语法添加参数,但该命令拒绝参数。

有没有办法可以将参数传递给develop命令?

0 个答案:

没有答案