Python 获取在安装上传递的额外参数

Python 获取在安装上传递的额外参数,python,Python,关于这个问题: 有什么方法可以让用户以额外的编程方式传递参数 i、 e.当某些用户执行时: pip install pkg[extra] 我想捕获用户在setup.pyextra\u require中放置并执行某些操作的extra参数实际上不应该以这种方式使用,它只指定了一个依赖项 如果您想提供一个自定义选项,您应该编写如下内容 from setuptools import setup from setuptools.command.install import install class

关于这个问题:

有什么方法可以让用户以额外的编程方式传递参数

i、 e.当某些用户执行时:

pip install pkg[extra]

我想捕获用户在
setup.py
extra\u require
中放置并执行某些操作的extra参数实际上不应该以这种方式使用,它只指定了一个依赖项

如果您想提供一个自定义选项,您应该编写如下内容

from setuptools import setup
from setuptools.command.install import install

class InstallCommand(install):
    user_options = install.user_options + [
        ('someopt', None, None),    # a 'flag' option
        ('someval=', None, None)    # an option that takes a value
    ]

    def initialize_options(self):
        install.initialize_options(self)
        self.someopt = None
        self.someval = None

    def finalize_options(self):
        super(InstallCommand, self).finalize_options()
        assert self.someopt
        assert self.someval == 'asdf'

setup(
    name="pkg",

    cmdclass={
        'install': InstallCommand,
    },
)
然后可以用作

./setup.py install --someopt --someval=asdf
还是和皮普一起

pip install pkg --install-option='--someopt' --install-option='--someval=asdf'
,