【问题标题】:Build a conda package relying on an apt library构建依赖于 apt 库的 conda 包
【发布时间】:2016-03-04 07:08:47
【问题描述】:

我正在构建一个依赖于 python 包 (scikits.sparse) 的科学 python 项目,该包提供与 C/Fortran 库 (libsuitesparse-dev) 的绑定,该库可以通过 apt-getyum 安装,但实际上是无法正确手动安装。

我想让我的包在所有平台上都可供用户使用,我认为最好的方法是使用带有conda skeleton 的 conda 包构建,然后翻译到其他平台。但是,我不确定 conda 将如何管理来自 apt-get 的外部库依赖项,并且想知道除了 official instructions 之外我是否需要做任何其他事情才能使其工作。

【问题讨论】:

    标签: python package anaconda apt-get conda


    【解决方案1】:

    我不确定 conda 将如何管理来自 apt-get 的外部库依赖项

    conda 不会通过apt-get 管理外部库,而是通过它自己的包管理系统。

    aptconda 是两个不同且独立的包管理系统。一个是官方的 debian/ubuntu 包管理器,另一个是附加的包管理器,例如 pipnpm。他们每个人都将拥有自己的一组已安装的软件包和自己的数据库。

    您可以通过以下方式分发您的项目 aptconda 或两者兼有,但您的用户必须选择一种分发渠道。

    已经有一个conda recipe for the scikits.sparse library你可以通过安装它

    conda install -c https://conda.anaconda.org/menpo scikits.sparse
    

    如果你想将它包含在你的食谱中,你必须在你的 .condarc 中添加 menpo 频道:

    channels:
      - defaults
      - menpo 
    

    然后在你的食谱中你可以要求 scikits.sparse 例如:

    requirements:
      build:
        - python
        - setuptools
    
      run:
        - python
        - scikits.sparse
    

    【讨论】:

    • 问题是如何将通过apt 分发的第三方二进制文件重新打包成conda
    • @chiffa 查看我的编辑,我认为它可以解决您的问题。
    猜你喜欢
    • 2020-03-08
    • 1970-01-01
    • 2018-04-09
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2019-02-23
    相关资源
    最近更新 更多