Conda:如何在 `conda` 环境中从 Github 安装最新版本的 `pandoc-crossref`?

Conda: How to install latest version of `pandoc-crossref` from Github in `conda` environment?

pandoc-crossref 必须匹配 pandoc 版本,而且只有 3.10.0 版本适用于 OSX Big Sur。因此,无法从官方渠道或 conda-forge.

conda 环境中获取 pandocpandoc-crossref 运行

我可以轻松地从 https://github.com/lierdakil/pandoc-crossref/releases/tag/v0.3.10.0 下载匹配的二进制文件并复制它们,例如到bin路径:

$ which pandoc-crossref
/usr/local/bin/pandoc-crossref
$ curl -OL https://github.com/lierdakil/pandoc-crossref/releases/download/v0.3.10.0/pandoc-crossref-macOS.tar.xz 
$ tar -xzvf pandoc-crossref-macOS.tar.xz
$ mv pandoc-crossref /usr/local/bin/pandoc-crossref

但我认为这不是一个干净的方法,因为 conda 不会知道我更新了 pandoc-crossref 的版本。

从 Github 上可用的二进制文件更新由 conda 管理的软件包的干净方法是什么?

更新原料

我在 Conda Forge 原料上更新了它,这是我认为“最干净”的解决方案。

如何做到这一点? 首先,OP 在他们想要合并的 PR 中对原料 发表了 评论。这是适当的第一步,希望在未来的情况下足以促使维护者采取行动。在这种情况下,这是不够的。因此,作为后续行动,我在 the Conda Forge Gitter 上聊天,指出原料已经过时并且维护者没有回应。 Conda Forge 的一位核心成员建议我制作一个 PR 来修改版本并将自己添加为维护者,然后他们为我合并了它。总之,从开始到在 Anaconda Cloud 上更新包,这需要大约 10 分钟的工作和大约 2 小时。

自定义 Conda 构建

否则,除了构建 Conda 包之外,对于非 Python 包并没有真正干净的解决方案。也就是说,克隆原料或编写新配方,修改它以从 GitHub 参考构建,然后将该构建安装到您的环境中。它也可能值得上传到 Anaconda Cloud 用户帐户,因此有一些非本地参考。

Pip 安装(Python 仅限软件包)

在特殊情况下,它是一个 Python 包,可以将环境转储到 YAML,通过 pip 编辑安装包,然后重新创建环境。