需要扩展模块的可选 setup.py 依赖项

问题描述 投票:0回答:0

我有一个主包(比如包 A),我想有一个可选的依赖项。我知道我可以使用

extras_require
来定义可选的包依赖项,但是我希望这个可选的依赖项使用
Extension
模块来使用带有附加数据文件的 f2py 进行构建。有没有办法定义一个
extras_require
语句来获取扩展模块?换句话说,当我运行我的
setup.py
文件时,我可以选择指定我想要安装我的风模型,然后它使用 f2py 编译我的 Fortran 代码。如果不需要可选的风模型依赖项,则 setup.py 文件会正常运行并且不会编译 fortran 代码(如果用户没有安装 fotran 编译器并且不需要此依赖项,则很有用)。

目前我能想到的唯一方法是用风模型创建一个单独的包,并将这个包放在主包的

extras_require
中。这样做的缺点是,用户必须为风模型运行一个单独的
setup.py
文件,然后返回到主包并运行主
setup.py
。对我来说这是不可取的,感觉应该有办法做到这一点。我已经看到了这个问题,但是如果可以下载 cython 扩展,则下载它而不是用户需要指定的 cython 扩展。

python numpy setuptools setup.py f2py
© www.soinside.com 2019 - 2024. All rights reserved.