使用Julia软件包
*Julia包*是一组有组织的现成函数,类和对象,用于解决各种任务。 Julia包可以使用Pkg包管理器安装并在您的项目中使用。 如果您需要将软件包更清晰地分离为用户软件包和系统软件包,请使用 EngeePkg。
在处理大量包时,使用脚本编辑器很方便,在调用Pkg后不需要重新初始化。 如果您更习惯于使用脚本编辑器界面之外的代码并使用少量包,则命令行非常有用。
| 有关使用Pkg包管理器的详细描述,请参阅 2. Getting Started. |
包的工作原理
-
找到您感兴趣的包的确切名称。 Julia生态系统包含在通用注册表中注册的一万多个软件包,这可能使找到合适的软件包变得非常困难。 为了优化您的搜索,我们建议您参考以下来源:
-
编程 -科 AnyMath 与朱莉娅在俄罗斯的完整文件。
-
JuliaHub是一项服务,用于搜索开源软件包的所有注册文档,并能够按标签和关键字进行排序。
-
Julia Packages是一个在线资源,旨在搜索,探索和查看Julia软件包,并能够按类别,受欢迎程度和日期自定义过滤器。
-
朱莉娅。jl是Julia编程语言的主要包存储库。 此存储库存储在GitHub平台上,包含社区开发的许多有用的软件包和工具,用于使用Julia语言。
-
-
选择用于处理包的工具-命令行或脚本编辑器,具体取决于您的任务。
-
通过添加Pkg包管理器初始化在Julia中使用包。 添加管理器的语法因所选工具而异。
-
使用命令添加包
添加到您的环境中,以便在您的项目中使用它们。 添加包的语法取决于所选工具。 -
将包加载到命名空间并使用运算符访问其特定元素
使用和进口. 您也可以添加自己的包。 -
如有必要,请通过
状况检查哪些软件包加载到RAM中 AnyMath 并通过删除不必要的移走或rm(语法取决于所选工具)。
下面提供了有关使用包的详细信息。
命令行上的Julia包
在命令行上安装新包 AnyMath ,在代码输入区域左键单击并单击关闭方括号 ]. 这将切换命令行以与包管理器一起工作。 该行将从以下位置更改其外观 工程师> 上 pkg>:
pkg>
在包管理器模式下,使用命令 添加 添加包:
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:
*包名称(未在项目或清单中找到)
退出包管理器模式 pkg> 左键单击代码输入区域,然后单击 Backspace. 这将使您返回到命令行的主视图。 工程师>.
|
脚本编辑器中的Julia包
在交互式脚本中安装新包 AnyMath ,在带有代码的部分中,使用命令导入Pkg 进口Pkg,然后运行命令 Pkg。添加("包名称"). 例如,包含用于添加包的代码的部分 例子: 它会是这样的:
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"])
专责小组 移走 它没有在脚本编辑器中定义,尽管它在命令行中使用。 尝试在编辑器中调用该命令将返回错误。:
`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。状态()获取包的状态。
下载软件包
在Julia中,运算符用于下载包并提供对其特定元素(如函数、类型和变量)的访问。 进口 和 使用:
-
使用-用于从模块加载所有导出的名称,并将它们绑定到当前命名空间。 例如:using Statistics x = mean([1, 2, 3, 4, 5]) -
进口-用于有选择地从模块导入某些函数或变量。 要求在函数名或变量名之前指定模块名。 因此,未显式导入的函数或变量在当前环境中将不可用。例子::
import Statistics x = Statistics.mean([1, 2, 3, 4, 5])
考虑运营商的优势和局限性:
*优势 使用 -方便。 代码变得更加简洁,模块中的所有函数和变量都可以在当前命名空间中使用。
*劣势 使用 -使用 使用 加载具有许多函数和变量的大型模块会影响性能和内存溢出。
*劣势 使用 -名称冲突。 使用 如果多个模块定义具有相同名称的函数或变量,则可能导致名称冲突。
*优势 进口 -没有名称冲突。
*优势 进口 -通过避免编译不必要的代码来减少编译时间。
*劣势 进口 -代码的复杂性。
因此,操作者 使用 它更适合强调方便性的小型项目。 操作员 进口 它更适合于强调选择性和控制内存使用的大型项目。

