包的简介
Julia 中第三方库所对应的名称是 package,常称为包。
开源的第三方库使我们可以交流成熟的代码。对于使用者,可以借此调用经过别人检查、优化、调试的代码,避免浪费时间。对于开发者,可以获得他人的建议与帮助。
包被安装后,其内容可以作为模块被调用。
在 REPL 中输入 ] 可进入包管理器模式,此时可以输入命令。
该模式下常用指令包括:
help获取帮助及命令列表add下载包,每天只会自动更新注册表一次build手动构建包remove移除包update只更新指定的包,使用--preserve命令选项放松限制gc回收包preview预览why告知包为何存在于清单中
基础示例
(@v1.6) pkg> add LightLearn # 下载包
...
Precompiling project...
1 dependency successfully precompiled in 7 seconds (173 already precompiled)
julia> using LightLearn # 导入
julia> init() # 使用
也可以在程序中使用 Pkg 模块进行管理:
import Pkg
Pkg.add(PackageSpec(name="Example", version="0.3.1"))
包查找
包服务器
Julia 1.5 以上会默认使用官方服务器。
对于国内用户,官方服务器会自动导向北京、上海或者广州的服务器(状态在此查看),可以通过修改环境变量 JULIA_PKG_SERVER 修改默认服务器。
可参阅 Julia PkgServer 镜像服务及镜像站索引。
了解指定的包
找到文档
利用 Juliahub 搜索找到原仓库,看是否有提供文档
本站点提供了少量的中文的包概述
如果该包是一个其它语言的库的接口,原本的库很可能也有文档,并且网上可能找到相关教程
获取
docstring在帮助模式中使用包名
尝试使用
apropos检索
获取结构信息
使用
?包名.+Tab列出包中导出所有东西(也可使用names(包名))利用
methods、methodsof、dump、functionloc等函数
了解具体实现
尝试阅读源代码
在包所在仓库提问
Pkg
Pkg.jl 是 Julia 标准库的一部分,用于管理包。REPL 中的命令也是通过调用 Pkg.jl 的函数实现的。
了解更多内容可参阅: