【发布时间】:2020-05-28 15:00:17
【问题描述】:
我正在尝试构建(然后上传)一个 conda 包,其中包含我用 C++ 开发的自定义程序。
简化问题,我有一个关注meta.yaml:
package:
name: CoolName
version: "1.0.0"
source:
path: ./source
requirements:
build:
- make
以及以下build.sh:
make
我有两个问题:
1) 我应该如何以及在哪里复制作为make 编译结果的二进制文件,以便在环境激活时确实可以识别它?
2) 我应该如何将 g++ 指定为依赖项?我想让这个包稍后可用于linux-64 和osx-64... 在构建过程中(在 Makefile 中)我只使用 g++。
编辑
我已将构建脚本修改为:
make
mkdir -p $PREFIX/bin
cp my_binary $PREFIX/bin/my_binary
现在conda-build 成功了。但是,当我稍后尝试使用 conda install --use-local 在本地安装软件包时,我得到:
Collecting package metadata (current_repodata.json): done
Solving environment: done
# All requested packages already installed.
但这不是真的,我的二进制文件没有安装在任何地方并且无法识别......
【问题讨论】:
-
我正在尝试将本地 C++ 库转换为 conda 包,类似于您所做的。您是否可以分享您的流程/代码仓库以供参考?
标签: anaconda conda miniconda conda-build