Constants

Base.PROGRAM_FILEConstant
PROGRAM_FILE

一个包含从命令行传递给 Julia 的脚本名称的字符串。请注意,脚本名称在包含的文件中保持不变。或者请参见 @__FILE__

source
Base.ARGSConstant
ARGS

一个传递给 Julia 的命令行参数数组,作为字符串。

source
Base.C_NULLConstant
C_NULL

C 空指针常量,有时在调用外部代码时使用。

source
Base.DEPOT_PATHConstant
DEPOT_PATH

一个“仓库”位置的堆栈,包管理器以及 Julia 的代码加载机制在其中查找包注册表、已安装的包、命名环境、代码库克隆、缓存的编译包图像和配置文件。默认情况下,它包括:

  1. ~/.julia,其中 ~ 是系统上适当的用户主目录;
  2. 一个特定于架构的共享系统目录,例如 /usr/local/share/julia
  3. 一个与架构无关的共享系统目录,例如 /usr/share/julia

因此 DEPOT_PATH 可能是:

[joinpath(homedir(), ".julia"), "/usr/local/share/julia", "/usr/share/julia"]

第一个条目是“用户仓库”,应由当前用户可写并拥有。用户仓库是:注册表被克隆、新包版本被安装、命名环境被创建和更新、包代码库被克隆、新编译的包图像文件被保存、日志文件被写入、开发包默认被检出,以及全局配置数据被保存。仓库路径中的后续条目被视为只读,适合由系统管理员安装和管理的注册表、包等。

如果设置了 JULIA_DEPOT_PATH 环境变量,则 DEPOT_PATH 会根据该变量填充。

DEPOT_PATH 内容

DEPOT_PATH 中的每个条目都是指向一个目录的路径,该目录包含 Julia 用于各种目的的子目录。以下是仓库中可能存在的一些子目录的概述:

  • artifacts:包含包使用的内容,Pkg 管理其安装。
  • clones:包含包代码库的完整克隆。由 Pkg.jl 维护并用作缓存。
  • config:包含 Julia 级别的配置,例如 startup.jl
  • compiled:包含包的预编译 *.ji 文件。由 Julia 维护。
  • devPkg.develop 的默认目录。由 Pkg.jl 和用户维护。
  • environments:默认包环境。例如,特定 Julia 版本的全局环境。由 Pkg.jl 维护。
  • logs:包含 PkgREPL 操作的日志。由 Pkg.jlJulia 维护。
  • packages:包含包,其中一些是显式安装的,另一些是隐式依赖。由 Pkg.jl 维护。
  • registries:包含包注册表。默认情况下只有 General。由 Pkg.jl 维护。
  • scratchspaces:包含包本身通过 Scratch.jl 包安装的内容。Pkg.gc() 将删除已知未使用的内容。
Note

想要存储内容的包应通过 Scratch.jl 使用 scratchspaces 子目录,而不是在仓库根目录中创建新的子目录。

另请参见 JULIA_DEPOT_PATH代码加载

source
Base.LOAD_PATHConstant
LOAD_PATH

一个路径数组,用于在加载代码时考虑作为项目环境或包目录的 usingimport 语句。它根据 JULIA_LOAD_PATH 环境变量的设置进行填充;否则默认为 ["@", "@v#.#", "@stdlib"]。以 @ 开头的条目具有特殊含义:

  • @ 指的是“当前活动环境”,其初始值最初由 JULIA_PROJECT 环境变量或 --project 命令行选项确定。
  • @stdlib 展开为当前 Julia 安装的标准库目录的绝对路径。
  • @name 指的是一个命名环境,这些环境存储在仓库中(参见 JULIA_DEPOT_PATH)的 environments 子目录下。用户的命名环境存储在 ~/.julia/environments 中,因此如果存在并包含 Project.toml 文件,@name 将指向 ~/.julia/environments/name 中的环境。如果 name 包含 # 字符,则它们将被 Julia 版本号的主、次和修订组件替换。例如,如果您正在运行 Julia 1.2,则 @v#.# 展开为 @v1.2,并将查找该名称的环境,通常位于 ~/.julia/environments/v1.2

可以通过调用 Base.load_path() 函数查看搜索项目和包的 LOAD_PATH 的完全展开值。

另请参见 JULIA_LOAD_PATHJULIA_PROJECTJULIA_DEPOT_PATH代码加载

source
Base.Sys.BINDIRConstant
Sys.BINDIR::String

一个包含 julia 可执行文件所在目录的完整路径的字符串。

source
Base.Sys.CPU_THREADSConstant
Sys.CPU_THREADS::Int

系统中可用的逻辑 CPU 核心数量,即 CPU 可以同时运行的线程数量。请注意,这不一定是 CPU 核心的数量,例如,在存在 超线程 的情况下。

有关更多信息,包括物理核心的数量,请参见 Hwloc.jl 或 CpuId.jl。

source
Base.Sys.KERNELConstant
Sys.KERNEL::Symbol

一个表示操作系统名称的符号,由构建配置的 uname 返回。

source

另请参阅: