Sage:开源数学软件:SageMath库的配置模块
项目描述
描述
此发行版提供
一个单独的Python模块,sage_conf,在安装和运行时向SageMath库提供配置信息
一个控制台脚本 sage-config,用于从shell查询
的变量 一个可源代码的shell脚本 sage-env-config,以环境变量的形式提供额外的配置信息
《sage_conf》分发软件包是多态的:它有几个实现。
《sage_conf》在 PyPI 上的 sdist
《sage_conf》分发软件包的这个实现来源于 https://github.com/sagemath/sage/issues/29039,其中添加了目录 pkgs/sage-conf_pypi。
要安装,请使用 pip install -v sage_conf。使用 -v 确保显示诊断消息。
在安装(或构建 wheel)时,它调用 sage_bootstrap 来建立 SageMath 分发软件包的构建树(SAGE_ROOT)和安装树(SAGE_LOCAL)。默认情况下,它使用特定于分发软件包版本和使用的 Python 版本的 $HOME/.sage 的子目录。如果使用同一版本的 Python 的多个虚拟环境安装了 sage_conf,它们将共享这些树。
安装《sage_conf》后,将有一个包含各种库 wheel 的 wheelhouse;键入 ls $(sage-config SAGE_SPKG_WHEELS) 以列出它们,并键入 pip install $(sage-config SAGE_SPKG_WHEELS)/*.whl 以安装它们。之后,您可以安装 Sage 库,例如使用 pip install sagemath-standard。
《sage_conf》wheel
预构建的二进制 wheel 可以在 https://github.com/sagemath/sage-wheels/releases/ 获取
《sage_conf》的这个实现来源于 https://github.com/sagemath/sage/issues/31396,其中添加了目录 pkgs/sage-conf_relocatable/。
在构建 wheel 时,它调用 sage_bootstrap 来在一个特定于分发软件包版本和使用的 Python 版本的 /var/tmp/ 目录的子目录中建立构建和安装树(SAGE_ROOT,SAGE_LOCAL)。
这个 wheel 分发了预构建的 SAGE_ROOT 和 SAGE_LOCAL 的副本。导入 sage_conf(或使用已安装的 sage-config 脚本),确保从 /var/tmp 位置到实际持久安装位置的符号链接被创建。由于重定位的库和程序以各种方式(包括作为 rpaths)包含硬编码的路径 SAGE_LOCAL,因此此符号链接对于预构建的库和程序正常工作是必需的。
/var/tmp 是遵循文件系统层次标准的所有 Linux 分发以及 macOS 上的粘性目录。在多用户系统中,只能有一个用户使用特定版本的分发;建议对于具有多个 Sage 用户的系统使用其他安装方案。
《sage_conf》在 SageMath 分发中
分发软件包的原始版本 sage_conf 在 SageMath 分发中内部使用。它包含在目录 pkgs/sage-conf 中。这个软件包的版本由 Sage 分发软件的 ./configure 脚本生成。
《sage_conf》针对 conda
目录 pkgs/sage-conf_conda 中的发行版软件包版本可用于 SageMath 的安装方法中,其中所有软件包均由 conda 提供。此方法在 https://doc.sagemath.org/html/en/installation/conda.html#using-conda-to-provide-all-dependencies-for-the-sage-library-experimental 中进行了描述。
下游发行版中的 sage_conf
下游打包人员、高级开发人员和用户可能希望提供自己的发行版软件包实现,以支持 SageMath 库的预期部署。
许可证
GNU 通用公共许可证(GPL)v3 或更高版本
上游联系人
此软件包包含在 Sage 发行版的源代码中,位于 pkgs/sage-conf*。