setup.py:添加安装所需的依赖项

Nic*_*mer 5 python dependencies setup.py pybind11

为了在PyPi上分发Python库,我通常在setup.pyàla中指定包的依赖性

setup(
    # ...
    install_requires=["numpy", "scipy"],
    # ...
)
Run Code Online (Sandbox Code Playgroud)

但是,在某些情况下,我已经需要在其中导入一些内容setup.py,例如在使用pybind11时.找到pybind11 include目录的推荐方法是via

def __str__(self):
    import pybind11  # !
    return pybind11.get_include(self.user)
Run Code Online (Sandbox Code Playgroud)

因此, pip尝试安装库本身之前,用户需要pybind11安装.不幸的是,简单地添加模块不会削减它:一个得到install_requires

  ModuleNotFoundError: No module named 'pybind11'
Run Code Online (Sandbox Code Playgroud)

在尝试安装时.有没有办法在评估之前强制执行要求的安装setup.py