构建依赖于 apt 库的 conda 包

chi*_*ffa 5 python package apt-get anaconda conda

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

我想让我的包可供所有平台上的用户使用,我认为最好的方法是使用 conda 包构建conda skeleton,然后转换到其他平台。但是,我不确定 conda 管理外部库依赖关系的效果如何,并且想知道除了官方说明apt-get之外,我是否还需要做其他事情才能使其工作。

Ort*_*kni 2

我不确定 conda 管理来自 apt-get 的外部库依赖关系的效果如何

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

aptconda是两个不同且独立的包管理系统。一个是官方的 debian/ubuntu 包管理器,另一个是额外的包管理器,例如pipnpm。他们每个人都有自己的一套安装包和自己的数据库。

apt您可以通过或分发您的项目 conda什至同时通过两者来分发您的项目,但您的用户必须选择一种分发渠道。

scikits.sparse 库已经有一个conda 配方,您可以通过以下方式安装它

conda install -c https://conda.anaconda.org/menpo scikits.sparse
Run Code Online (Sandbox Code Playgroud)

如果您想将其包含在您的食谱之一中,您必须将 menpo 频道添加到您的.condarc

channels:
  - defaults
  - menpo 
Run Code Online (Sandbox Code Playgroud)

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

requirements:
  build:
    - python
    - setuptools

  run:
    - python
    - scikits.sparse
Run Code Online (Sandbox Code Playgroud)

  • 问题更多是如何将通过“apt”分发的第三方二进制文件重新打包到“conda”中 (3认同)