有没有办法将 python 依赖项添加到 conan 包

Is there a way to add python dependencies to conan package

我正在使用 C/C++ 和 Python 中的多个库和包设置一个项目。

我想为 C/C++ 包设置一个二进制存储库,为 python 包设置一个 python 包索引服务器。

我偶然发现 conan 和 artefactory 可以处理内部 C/C++ 库依赖关系,但我找不到添加标准 python 包依赖关系的明确解决方案。

例如,我的项目“A”(C/C++)依赖于“B”(C/C++),其中包含使用“C”工具 (Python) 生成的代码。

我想将“B”的要求设置为“C”作为我的特定分布的 pip 要求'C'工具包.

到目前为止,我看到的解决方案是:

  1. 为我的“C””工具创建一个柯南包,并在“B”中添加要求
  2. 手动处理安装在“B”中的“C”包 conanfile.py

我想避免为 python 包添加 conan 包,因为 python 已经有一个包管理系统,我的包将在 python 索引服务器上可用.

我也会避免添加代码来处理 python 包依赖关系。

有没有人知道柯南是否可以简单地做到这一点?

谢谢

亚历克斯

由于柯南食谱也是一个 Python 脚本,您可以 运行 直接从食谱中 pip:

 def system_requirements(self):
    import pip
    if hasattr(pip, "main"):
        pip.main(["install", "colorama"])
    else:
        from pip._internal import main
        main(['install', "colorama"])

系统要求是最好的地方,因为它与不是柯南包的必需包相关。如果你有一些条件要根据发行版添加,你也可以使用 distro_info。

查看文档here,获取更多信息。

此致!