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

2024-04-20 09:45:52 发布

您现在位置:Python中文网/ 问答频道 /正文

关于这个问题: Specify extras_require with pip install -e

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

即当某个用户执行:

pip install pkg[extra]

我想捕获用户在setup.py中放置并执行某些操作的额外的参数。你知道吗


Tags: installpip方法用户pyextras参数编程
1条回答
网友
1楼 · 发布于 2024-04-20 09:45:52

extra_require实际上不应该这样使用,它只指定一个依赖项。你知道吗

如果你想提供一个自定义选项,你应该这样写

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'

linklink

相关问题 更多 >