常量
Core.nothing — 常量Base.PROGRAM_FILE — 常量PROGRAM_FILE包含从命令行传递给 Julia 的脚本名称的字符串。请注意,脚本名称在包含的文件中保持不变。或者参见 @__FILE__。
Base.ARGS — 常量ARGS传递给 Julia 的命令行参数(作为字符串)的数组。
Base.C_NULL — 常量C_NULLC 空指针常量,有时在调用外部代码时使用。
Base.VERSION — 常量VERSION一个 VersionNumber 对象,描述正在使用的 Julia 版本。另请参阅 版本号字面量。
Base.DEPOT_PATH — 常量DEPOT_PATH一个“仓库”位置的栈,包管理器以及 Julia 的代码加载机制会在其中查找包注册表、已安装的包、命名环境、仓库克隆、缓存的编译包镜像和配置文件。默认情况下,它包括
~/.julia,其中~是系统上适当的用户主目录;- 特定于体系结构的共享系统目录,例如
/usr/local/share/julia; - 与体系结构无关的共享系统目录,例如
/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.jlcompiled:包含包的预编译*.ji文件。由 Julia 维护。dev:Pkg.develop的默认目录。由Pkg.jl和用户维护。environments:默认包环境。例如,特定 Julia 版本的全局环境。由Pkg.jl维护。logs:包含Pkg和REPL操作的日志。由Pkg.jl和Julia维护。packages:包含包,其中一些是显式安装的,一些是隐式依赖项。由Pkg.jl维护。registries:包含包注册表。默认情况下只有General。由Pkg.jl维护。scratchspaces:包含包本身通过Scratch.jl包安装的内容。Pkg.gc()将删除已知未使用的内容。
想要存储内容的包应该通过 Scratch.jl 使用 scratchspaces 子目录,而不是在仓库根目录中创建新的子目录。
另请参阅 JULIA_DEPOT_PATH 和 代码加载。
Base.LOAD_PATH — 常量LOAD_PATHusing 和 import 语句要考虑作为项目环境或包目录以加载代码的路径数组。如果设置了 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 的完全展开值。
Base.Sys.BINDIR — 常量Sys.BINDIR::String包含包含 julia 可执行文件的目录的完整路径的字符串。
Base.Sys.CPU_THREADS — 常量Sys.CPU_THREADS::Int系统中可用的逻辑 CPU 核心数,即 CPU 可以同时运行的线程数。请注意,这并不一定是 CPU 核心的数量,例如,在存在 超线程 的情况下。
有关扩展信息(包括物理核心数量),请参阅 Hwloc.jl 或 CpuId.jl。
Base.Sys.WORD_SIZE — 常量Sys.WORD_SIZE::Int当前机器上的标准字长(以位为单位)。
Base.Sys.KERNEL — 常量Sys.KERNEL::Symbol表示操作系统名称的符号,由构建配置的uname返回。
Base.Sys.ARCH — 常量Sys.ARCH::Symbol表示构建配置体系结构的符号。
Base.Sys.MACHINE — 常量Sys.MACHINE::String包含构建三元组的字符串。
另请参阅