要在PyPi上分发Python库,我通常在setup.py
中指定包的依赖项
setup(
# ...
install_requires=["numpy", "scipy"],
# ...
)
但是,在某些情况下,例如在使用pybind11时,我已经需要在setup.py
中导入某些内容。 recommended way用于通过以下方式找到pybind11包含目录:
def __str__(self):
import pybind11 # !
return pybind11.get_include(self.user)
因此,在pem尝试安装库本身之前,用户需要先安装pybind11
。不幸的是,仅将模块添加到install_requires
并不会减少它:一个会得到
ModuleNotFoundError: No module named 'pybind11'
在尝试安装时。有没有一种方法可以在评估setup.py
之前强制安装需求?