gpt4 book ai didi

version-control - 生产环境中的 Julia 包版本控制

转载 作者:行者123 更新时间:2023-12-03 23:37:01 30 4
gpt4 key购买 nike

如果你想在生产环境中使用它,你如何在 Julia 中进行版本控制。也就是说,大多数 Julia 包和 Julia 本身都有 0.3.10 或类似的版本号,因此您应该为(不久的)将来的重大接口(interface)更改做好准备,尤其是当第一位数字从 0 翻转到 1 时。

我的包裹状态如下所示:

julia> Pkg.status()
4 required packages:
- DataFrames 0.6.9
- Gadfly 0.3.13
- Jewel 1.0.5
- Mongo 0.1.3
44 additional packages:
- ArrayViews 0.6.3
- BinDeps 0.3.15
- Calculus 0.1.10
- Codecs 0.1.4
- Color 0.4.7
- Compat 0.6.0
- Compose 0.3.13
- Contour 0.0.7
- DataArrays 0.2.17
- DataStructures 0.3.12
etc...

建议您使用 Pkg.update()通常,您的所有软件包上都有最新的补丁。

如果你因为这些补丁需要更新一个包或者你需要使用一个新特性,你可能会破坏你的代码,并且各个包之间也可能存在依赖关系。

Julia 可能是一种足够成熟的语言,没有严重的版本控制问题,但我觉得有必要就 Julia 用户的体验进行民意调查。

最佳答案

在生产环境中你不应该使用 Pkg.update()通常,或者至少在没有首先在非生产环境中进行测试的情况下。对于每个包装系统都是如此,而不仅仅是 Julia。
特别是对于 Julia,我还建议建立一组适合您的版本,然后在 REQUIRE 中使用适当的下限和上限。文件。

例如,假设 JuMP 0.9.2 和 Gadfly 0.4.2 一样适合我。我可能会在 ~/.julia/v0.3/REQUIRE 中执行以下操作:

JuMP 0.9.2 0.10
Gadfly 0.4.2 0.5

这样,如果我运行 Pkg.update()我会得到 0.9.30.4.3如果他们出来了,但我不会自动升级到 JuMP 0.10 .当然,这只有在您信任软件包维护者明智地使用版本号时才有效,这是一个严重的问题,尤其是当它们是 1.0 之前的版本时。 .

关于version-control - 生产环境中的 Julia 包版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32255002/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com