常量

Base.PROGRAM_FILE常量
PROGRAM_FILE

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

源代码
Base.ARGS常量
ARGS

传递给 Julia 的命令行参数(作为字符串)的数组。

源代码
Base.DEPOT_PATH常量
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() 将删除已知未使用的内容。
注意

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

另请参阅 JULIA_DEPOT_PATH代码加载

源代码
Base.LOAD_PATH常量
LOAD_PATH

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

  • @ 指的是“当前活动环境”,其初始值最初由 JULIA_PROJECT 环境变量或 --project 命令行选项确定。

  • @stdlib 展开为当前 Julia 安装的标准库目录的绝对路径。

  • @name 指的是命名环境,它们存储在仓库(参见 JULIA_DEPOT_PATH)的 environments 子目录下。用户的命名环境存储在 ~/.julia/environments 中,因此如果 name 存在并包含 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代码加载

源代码
Base.Sys.BINDIR常量
Sys.BINDIR::String

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

源代码
Base.Sys.CPU_THREADS常量
Sys.CPU_THREADS::Int

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

有关扩展信息(包括物理核心数量),请参阅 Hwloc.jl 或 CpuId.jl。

源代码
Base.Sys.KERNEL常量
Sys.KERNEL::Symbol

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

源代码

另请参阅