与此问题相关:
使用pip install -e指定extras_require
有没有办法以编程方式获取用户传递的额外参数?
例如,当某个用户执行以下操作时:
例如,当某个用户执行以下操作时:
pip install pkg[extra]
我希望能捕获用户输入的额外参数,并在setup.py
中进行处理。
pip install pkg[extra]
我希望能捕获用户输入的额外参数,并在setup.py
中进行处理。
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'
{{链接1:link}}, {{链接2:link}}