2

我在一个 Python 项目上工作,该项目在一个地方调用 Julia 的代码,而在其他地方使用 OpenCV。

不幸的是,pyJulia更喜欢将 Python 解释器动态链接到libpython. (我知道我可以构建一个自定义的 Julia 系统映像,但是当我想从 Python 测试我的 Julia 代码的开发版本时,我担心构建延迟。)

到目前为止有效的是使用Spack而不是 Conda。Spack 构建的 Python 有一个共享libpython的,Spack 的存储库确实包含一个最近的opencv.

不幸的是,与 Conda 不同的是,Spack 是围绕编译所有内容的范例设计的,而不是下载二进制文件。安装时间opencv远远超过 1 小时,这对于在开发环境中一次性安装来说勉强可以接受,但构建 Docker 映像的时间却令人沮丧。

所以我有一个想法:也许可以将我自己的 Python 与 Conda 生态系统的其他部分集成?

4

1 回答 1

1

这不是一个完整的解决方案,但 Spack 确实支持二进制包,以及GitLab 构建管道以并行构建它们并保持更新。它(还没有)是一个公共二进制镜像,因此您可以从预先存在的构建中非常快速地安装这些东西。那是在工作中。

因此,如果您喜欢 Spack 方法,您可以为您的开发环境设置自己的二进制缓存和自动构建。

我不确定 Conda 的解决方案是什么。您可以制作自己的 conda-forge 包,但我认为如果您偏离标准包,您最终可能会重新实现很多包以支持您的用例。另一方面,他们可能会接受补丁以使您的特定配置正常工作。

于 2020-01-31T06:57:48.580 回答