使用Julia软件包
包的工作原理
-
找到您感兴趣的包的确切名称。 Julia生态系统包含在通用注册表中注册的一万多个软件包,这可能会使找到合适的软件包变得非常困难。 为了优化您的搜索,我们建议您参考以下来源:
-
编程 -Engee部分与完整的朱莉娅文件在俄罗斯。
-
JuliaHub是一项服务,用于搜索开源软件包的所有注册文档,并能够按标签和关键字进行排序。
-
Julia Packages是一个在线资源,旨在搜索,探索和查看Julia软件包,并能够按类别,受欢迎程度和日期自定义过滤器。
-
朱莉娅。jl是Julia编程语言的主要包存储库。 此存储库存储在GitHub平台上,包含社区开发的许多有用的软件包和工具,用于使用Julia语言。
-
-
选择用于处理包的工具-命令行或脚本编辑器,具体取决于您的任务。
-
通过添加Pkg包管理器初始化在Julia中使用包。 添加管理器的语法因所选工具而异。
-
使用`add`命令将包添加到您的环境中,以便在项目中使用它们。 添加包的语法取决于所选工具。
-
将包上传到命名空间并使用`using`和`import`运算符访问其特定元素。 您也可以添加自己的包。
-
如有必要,通过"状态"找出包状态,检查哪些包被加载到*Engee*RAM中,并通过"删除"或"rm"删除不必要的包(语法取决于所选工具)。
下面提供了有关使用包的详细信息。
命令行上的Julia包
要在*Engee*命令行上安装新包,请在代码输入区域中左键单击,然后单击右方括号。 ]. 这将切换命令行以与包管理器一起工作。 字符串将其外观从"engee>"更改为"pkg>`:
pkg>
在包管理器模式下,我们使用’add’命令来添加包。:
add Example
您可以通过列出以逗号分隔的名称来在同一时间添加多个包,例如:
add Example, Plots, Pluto
要删除包,请使用"删除"命令或其缩写版本"rm"。:
remove Pluto
包删除的结果
Updating `/user/.project/Project.toml`
[c3e4b0f8] - Pluto v0.19.38
Updating `/user/.project/Manifest.toml`
[5218b696] - Configurations v0.17.6
[e2d170a0] - DataValueInterfaces v1.0.0
[21656369] - ExpressionExplorer v1.0.0
[55351af7] - ExproniconLite v0.10.5
[fb4132e2] - FuzzyCompletions v0.5.3
[ac1192a8] - HypertextLiteral v0.9.5
[82899510] - IteratorInterfaceExtensions v1.0.0
[0e77f7df] - LazilyInitializedFields v1.2.2
[6c6e2e6c] - MIMEs v0.1.4
[36869731] - Malt v1.1.1
[99f44e22] - MsgPack v1.2.0
[c3e4b0f8] - Pluto v0.19.38
[91cefc8d] - PrecompileSignatures v3.0.3
[aea7be01] - PrecompileTools v1.2.0
[2792f1a3] - RegistryInstances v0.1.0
[3783bdb8] - TableTraits v1.0.1
[bd369af6] - Tables v1.10.0
[410a4b4d] - Tricks v0.1.6
如有必要,您可以一次删除多个包,列出它们的名称以逗号分隔。:
remove Pluto, Plots, Example
尝试删除不存在的包将返回错误。:
错误输出
The following package names could not be resolved:
* 包名 (not found in project or manifest)
要退出包管理器模式’pkg>`,左键单击代码输入区域,然后单击 Backspace. 这将返回到主命令行视图’engee>'。 |
脚本编辑器中的Julia包
要在交互式*Engee*脚本中安装新包,请在代码部分中,使用命令"import Pkg"导入Pkg,然后运行命令"Pkg"。添加("包名")'。 例如,包含添加`Example`包的代码的部分将如下所示:
import Pkg
Pkg.add("Example")
按下*开始按钮后* 将在此部分导入Pkg包管理器,并安装"示例"包。 有关软件包安装进度的信息将自动显示。:
Resolving package versions...
Installed Example ─ v0.5.3
Updating `/user/start/Project.toml`
[7876af07] + Example v0.5.3
Updating `/user/start/Manifest.toml`
[7876af07] + Example v0.5.3
与命令行一样,您可以在同一时间添加多个包,方法是用逗号分隔它们的名称并添加方括号以创建字符串数组,例如:
Pkg.add(["Example", "Plots"])
'Rm’命令用于删除包。:
Pkg.rm("Example")
要在同一时间删除多个包,名称用逗号和方括号分隔。:
Pkg.rm(["Example", "Plots"])
"Remove"命令没有在脚本编辑器中定义,尽管它在命令行中使用。 尝试在编辑器中调用该命令将返回错误。:
`UndefVarError: `remove` not defined`
在脚本编辑器中,Pkg包管理器的名称和Julia包名称区分大小写,并且必须以大写字母开头,否则您将收到错误消息。 |
包装状况
要找出已安装并可供使用的软件包,请打开命令提示符并按照以下步骤操作:
-
通过以下方式登录Pkg包管理器 ].
-
输入"状态"命令:
pkg> status
之后,您将看到已安装软件包及其版本的列表。:
包状态输出
pkg> status
Status `/user/.project/Project.toml`
⌅ [c3fe647b] AbstractAlgebra v0.27.8
⌅ [7d9f7c33] Accessors v0.1.27
⌅ [79e6a3ab] Adapt v3.5.0
⌅ [91a5bcdd] Plots v1.36.1
⌃ [c3e4b0f8] Pluto v0.19.36
字符'⌃'和`⌅'表示软件包有新版本。:
-
'⌃'—一个较新的版本是可用的。
-
'⌅`-一个较新的版本可用,但与其他软件包存在兼容性冲突。
您还可以通过脚本编辑器了解已安装并准备好使用的软件包。:
-
如果您以前没有这样做,请输入"导入Pkg"。
-
输入’Pkg。status()'获取包的状态。
下载软件包
在Julia中,`import`和`using’运算符用于下载包并提供对其特定元素的访问,例如函数,类型和变量:
-
'using—-用于从模块加载所有导出的名称并将它们绑定到当前命名空间。 例如:
using Statistics x = mean([1, 2, 3, 4, 5])
-
'import’用于有选择地从模块导入某些函数或变量。 要求在函数名或变量名之前指定模块名。 因此,未显式导入的函数或变量在当前环境中将不可用。
例子::
import Statistics x = Statistics.mean([1, 2, 3, 4, 5])
考虑运营商的优势和局限性:
-
"使用"的好处是方便。 代码变得更加简洁,模块中的所有函数和变量都可以在当前命名空间中使用。
-
`Using`的缺点是使用`using`加载具有许多函数和变量的大型模块会影响性能和内存溢出。
-
"使用"的缺点是名称冲突。 如果多个模块定义具有相同名称的函数或变量,则"使用"可能会导致名称冲突。
-
"导入"的优点是没有名称冲突。
-
"导入"的优点是减少了编译时间,避免了编译不必要的代码。
-
"导入"的缺点是代码的复杂性。
因此,"使用"操作符更适合于强调方便性的小型项目。 "导入"运算符更适用于强调对内存使用的选择性和控制的大型项目。