有没有一种方法可以将python依赖项添加到柯南包中

时间:2019-02-02 13:03:14

标签: python conan package-management

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

我想设置为C / C ++封装的二进制存储库和用于Python包Python包索引服务器。

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

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

我想将“ B ”的要求设置为“ C ”,作为对“ C “工具包。

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

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

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

我也避免添加代码来处理python包的依赖性。

有没有人知道柯南是否有可能在一个简单的事情上做到这一点?

谢谢

亚历克斯

1 个答案:

答案 0 :(得分:0)

由于柯南食谱也是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"])

系统要求是最好的选择,因为它与不是Conan软件包的必需软件包有关。如果您要基于发行版添加某些条件,则也可以使用distro_info。

查看文档中的here,以获取有关的更多信息。

致谢!