package - julia:创建和使用没有 Internet 的本地包

标签 package julia

我正在尝试创建一个 julia 语言包并在项目中使用它。
现在我只有一个 jl 文件,我不知道如何用它创建一个包。

我已阅读此内容 link但我仍然不知道该怎么做。我想用 jl 文件创建一个本地包,并在我自己的本地项目中使用它,代码如下:using MyPackage .

有人可以帮助我吗?

最佳答案

你应该把文件放在

~/.julia/v0.X/MyPackage/src/MyPackage.jl

其中 ~ 是您的主目录,X 是您正在使用的 Julia 的版本号。 X 将为 3,除非您使用的是 Julia 的开发版或夜间版本,在这种情况下它将为 4。

另请注意,为此,文件 MyPackage.jl 应定义模块 MyPackage 并导出您希望在使用 MyPackage 调用后可用的定义。

要自动创建此结构,您可以调用 Pkg.generate("MyPackage", "MIT"),其中 MIT 可以替换为另一个受支持的默认许可证。这将在正确的位置创建文件夹并为您设置模块结构。然后,您只需将代码合并到该结构中。

编辑

这是文件 ~/.julia/v0.3/MyPackage/src/MyPackage.jl 的两个可能内容的示例:

module MyPackage

function test()
    1
end

end  # module


module MyPackage

export test

function test()
    1
end

end  # module

在第一种情况下,我没有 export编辑任何东西。因此,当调用 using MyPackage只有模块MyPackage本身将提供给用户。如果我想使用 test函数,我必须使用完全限定名称:MyPackage.test() .

在第二种情况下,我选择导出函数 test .这发生在 export test 线上。 .现在当我调用 using MyPackage , 两个模块 MyPackage和函数 test可供用户使用。我不需要使用完全限定名来访问 test不再:test()将工作。

关于package - julia:创建和使用没有 Internet 的本地包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29211641/

相关文章:

perl - 如何退出当前的 CPAN 模块并打开一个新 session ?

oracle - PL/SQL 开发人员 : How to find variable references?

julia - 导入数组数据并以特定格式保存数组数据的最快方法是什么?

julia - 如何在 Julia 中处理分类数据?

julia - 如何在 Julia 中添加包

julia - Machine 中 X 的 scitype 与模型不兼容

c - Julia - 具有 struct hack 的 C 类型会导致段错误

go - 带有多个文件的包如何在 golang 中工作?

linux - 从 Yocto 的主包中删除子包

python - 从终端运行 python 包