我正在构建一个系统,该系统将接收python软件包列表(数百个),如果不存在则生成轮子,并将所述轮子发布到我们的内部构件。这样做有几个原因,其中两个最大的原因是安装速度,并且我们的系统在某些非常规平台(即BSD)上运行。
我有拉下sdist的过程,那很容易。我的问题是一旦关闭sdist并使用setup.py通过pipdeptree生成主要和可传递依赖项列表,是否有办法确定包及其依赖项是纯python还是需要C编译?我想我已经计算了大约5种包装C库的不同方法,但是我真正寻找的所有东西都可以回答这个问题:
def requires_platform_build(module):
if test_module(module):
'send to platform build system'
else:
'send to docker container to compile ANY wheel'
我知道这比测试需求之类的说起来容易,但我并不关心测试包,只关心所需的运行时包。