在某些情况下,有各种模块,每个模块都实现了一个公共 API(在我的例子中,旧的 pure-python elementtree、cElementTree、lxml.etree和 built-in xml.etree)。我可以编写模块ElementTree来尝试这些选项中的每一个,并根据我自己的偏好顺序采用第一个存在的模块——但我找不到任何关于指定只有其中一个必须安装在setup.py. 我想写一些看起来像这样的东西:
setup(
...,
install_requires="""
elementtree | cElementTree | lxml
""",
...
)
这是可能的吗?