软件包可以全局安装(即供系统的所有用户使用)或本地安装(即仅供当前用户使用)。
全局软件包默认安装在系统级位置,该位置通常是 Octave 自身安装目录的子目录。 因此,Octave 需要对该文件夹具有写入权限才能安装全局软件包,而这通常仅在 Octave 以管理员权限运行时才可用, 例如在类 Unix 系统上以 root(或超级用户)身份运行,或在 Windows 上以提升的权限("以管理员身份运行")运行。
相比之下,本地软件包默认安装在用户的主目录(在 Windows 上为用户配置文件)中,并且仅对该特定用户可用。 通常,它们可以在没有管理员权限的情况下安装。
当 Octave 以管理员权限运行时,pkg默认将软件包安装到全局软件包位置。
否则,软件包默认安装到本地位置。用户可以通过可选参数(-local 或
-global)覆盖此默认安装位置,如下所述。
当前使用的默认软件包安装位置可以通过 pkg prefix 查询。
全局和本地软件包各有独立的数据库来保存已安装软件包的信息。 如果某个软件包同时安装在全局和本地位置,则本地安装优先于("遮蔽")全局安装。 还可以通过使用前缀和/或使用 ‘local_list’ 输入参数来控制使用哪种安装位置(全局或本地)。 使用这些机制,还可以并排安装同一软件包的多个不同版本(但不能同时加载)。
软件包可能依赖于外部软件和/或其他软件包。要安装此类软件包,应事先安装这些依赖项。 依赖于其他软件包的软件包仍可使用 -nodeps 标志进行安装。 未满足的外部软件(如库)依赖关系所产生的影响取决于各个软件包。
软件包必须先加载才能使用。加载软件包时,Octave 执行以下任务:
pkg load 时未使用 -nodeps 选项),则该软件包不会立即加载。
相反,这些依赖项会被首先加载(如有需要则递归加载)。
这种加载顺序可能导致依赖项提供的函数被顶级包提供的同名函数遮蔽。
每次将软件包添加到搜索路径时,如果该软件包提供了初始化脚本,则会自动执行这些初始化脚本。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4