gpt4 book ai didi

package - 我可以制作一个包含多个可以独立导入的模块的 Julia 包吗?

转载 作者:行者123 更新时间:2023-12-03 22:41:11 24 4
gpt4 key购买 nike

我正在合作的项目之一有四个不同的模块( FooBarBazPlotting ),我的任务是将它们组合成一个包。在 Julia 中创建一个新包很简单:

julia> Pkg.generate("MyPackage", "MIT")

我将我的模块复制到 ~/.julia/v0.3/MyPackage/src/并将包含语句添加到 MyPackage.jl .它看起来像这样:
module MyPackage

include("foo.jl")
include("bar.jl")
include("baz.jl")
include("plotting.jl")

end

每个包含的文件都包含相应的模块。

我的主要问题是 Plotting导入需要很长时间,当我们使用 MyPackage 的其余部分时,并不经常需要它。 .我真的很想能够做一些像 using MyPackage.Foo只是得到 Foo (特别是要排除 Plotting 及其缓慢的导入时间)。我尝试了几种不同的方法来构建事物,包括在 MyPackage.jl 中明确定义子模块。而不是单独在每个文件中,但无论我尝试什么,我总是从 Plotting 得到加载延迟.

是否可以构建一个包,以便您可以从中独立加载模块?如果是这样,如何?

注意:我是 Julia 的新手,并且对构建包还是较新。抱歉,如果我的任何语义错误或任何不清楚的地方。

最佳答案

试试 Requires.jl :

Requires is a Julia package that will magically make loading packages faster, maybe. It supports specifying glue code in packages which will load automatically when a another package is loaded, so that explicit dependencies (and long load times) can be avoided.

关于package - 我可以制作一个包含多个可以独立导入的模块的 Julia 包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30783197/

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