AnyMath 文档

使用Julia软件包

*Julia包*是一组有组织的现成函数,类和对象,用于解决各种任务。 Julia包可以使用Pkg包管理器安装并在您的项目中使用。 如果您需要将软件包更清晰地分离为用户软件包和系统软件包,请使用 EngeePkg

AnyMath Julia包也通过内置的Pkg包管理器使用两个工作区工具来处理。 — 命令提示符 img 41 1 2脚本编辑器 img41 1.

在处理大量包时,使用脚本编辑器很方便,在调用Pkg后不需要重新初始化。 如果您更习惯于使用脚本编辑器界面之外的代码并使用少量包,则命令行非常有用。

有关使用Pkg包管理器的详细描述,请参阅 2. Getting Started.

包的工作原理

  1. 找到您感兴趣的包的确切名称。 Julia生态系统包含在通用注册表中注册的一万多个软件包,这可能使找到合适的软件包变得非常困难。 为了优化您的搜索,我们建议您参考以下来源:

    • 编程 -科 AnyMath 与朱莉娅在俄罗斯的完整文件。

    • JuliaHub是一项服务,用于搜索开源软件包的所有注册文档,并能够按标签和关键字进行排序。

    • Julia Packages是一个在线资源,旨在搜索,探索和查看Julia软件包,并能够按类别,受欢迎程度和日期自定义过滤器。

    • 朱莉娅。jl是Julia编程语言的主要包存储库。 此存储库存储在GitHub平台上,包含社区开发的许多有用的软件包和工具,用于使用Julia语言。

  2. 选择用于处理包的工具-命令行或脚本编辑器,具体取决于您的任务。

  3. 通过添加Pkg包管理器初始化在Julia中使用包。 添加管理器的语法因所选工具而异。

  4. 使用命令添加包 添加 到您的环境中,以便在您的项目中使用它们。 添加包的语法取决于所选工具。

  5. 将包加载到命名空间并使用运算符访问其特定元素 使用进口. 您也可以添加自己的包。

  6. 如有必要,请通过 状况 检查哪些软件包加载到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")

按下*开始按钮后* img 1 1 2 将在此部分导入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包名称区分大小写,并且必须以大写字母开头,否则您将收到错误消息。

包装状况

要找出已安装并可供使用的软件包,请打开命令提示符并按照以下步骤操作:

  1. 通过以下方式登录Pkg包管理器 ].

  2. 编写命令 状况:

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

符号 这意味着软件包有新版本。:

  • -一个较新的版本是可用的。

  • —有较新版本,但与其他软件包存在兼容性冲突。

您还可以通过脚本编辑器了解已安装并准备好使用的软件包。:

  1. 进入 进口Pkg 如果你以前没做过。

  2. 进入 Pkg。状态() 获取包的状态。

下载软件包

在Julia中,运算符用于下载包并提供对其特定元素(如函数、类型和变量)的访问。 进口使用:

  • 使用 -用于从模块加载所有导出的名称,并将它们绑定到当前命名空间。 例如:

    using Statistics
    
    x = mean([1, 2, 3, 4, 5])
  • 进口 -用于有选择地从模块导入某些函数或变量。 要求在函数名或变量名之前指定模块名。 因此,未显式导入的函数或变量在当前环境中将不可用。

    例子::

    import Statistics
    
    x = Statistics.mean([1, 2, 3, 4, 5])

考虑运营商的优势和局限性:

*优势 使用 -方便。 代码变得更加简洁,模块中的所有函数和变量都可以在当前命名空间中使用。

*劣势 使用 -使用 使用 加载具有许多函数和变量的大型模块会影响性能和内存溢出。

*劣势 使用 -名称冲突。 使用 如果多个模块定义具有相同名称的函数或变量,则可能导致名称冲突。

*优势 进口 -没有名称冲突。

*优势 进口 -通过避免编译不必要的代码来减少编译时间。

*劣势 进口 -代码的复杂性。

因此,操作者 使用 它更适合强调方便性的小型项目。 操作员 进口 它更适合于强调选择性和控制内存使用的大型项目。