入門 • 配置 • 社群 • 貢獻 • 打包指南
Spack 是一個多平台套件管理器,可以建立和安裝多個版本和配置的軟體。它適用於 Linux、macOS、Windows 和許多超級電腦。 Spack 是非破壞性的:安裝新版本的軟體包不會破壞現有的安裝,因此相同軟體套件的多種配置可以共存。
Spack 提供了一個簡單的「spec」語法,允許使用者指定版本和設定選項。套件檔案是用純 Python 編寫的,並且規範允許套件作者為同一套件的許多不同版本編寫單一腳本。使用 Spack,您可以按照您想要的方式建立軟體。
有關範例和亮點,請參閱功能概述。
要安裝 spack 和您的第一個套件,請確保您有 Python 和 Git。然後:
$ git clone -c feature.manyFiles=true --depth=2 https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install zlib
提示
-c feature.manyFiles=true
提高了 git 在包含 1,000 多個檔案的儲存庫上的效能。
--depth=2
修剪 git 歷史記錄以減少 Spack 安裝的大小。
提供完整文檔,或運行spack help
或spack help --all
。
有關 Spack 語法的備忘單,請執行spack help --spec
。
我們維護一個實踐教程。它涵蓋了基本到高級的用法、打包、開發人員功能和大型 HPC 部署。您可以使用 Docker 容器在自己的筆記型電腦上完成所有練習。
請隨意使用這些材料來向您組織的使用者教授 Spack。
Spack 是一個開源專案。歡迎提出問題、討論和貢獻。貢獻可以是任何內容,從新軟體包到錯誤修復、文檔,甚至新的核心功能。
資源:
@mention
我們!對 Spack 做出貢獻相對容易。只需向我們發送拉取請求即可。當您發送請求時,請在 Spack 儲存庫上develop
目標分支。
您的 PR 必須通過 Spack 的單元測試和文件測試,並且必須符合 PEP 8。我們透過 CI 流程強制執行這些準則。若要在本機上執行這些測試以及有關 git 的有用提示,請參閱我們的貢獻指南。
Spack 的develop
分支有最新的貢獻。拉取請求應該以develop
為目標,想要最新的軟體包版本、功能等的使用者可以使用develop
。
對於多用戶網站部署或需要非常穩定的軟體安裝的其他用例,我們建議使用 Spack 的穩定版本。
每個Spack發行系列也有對應的分支,例如releases/v0.14
有0.14.x
版本的Spack, releases/v0.13
有0.13.x
版本。我們將重要的錯誤修復向後移植到這些分支,但我們不會提升軟體包版本或進行其他更改來改變 Spack 在發布分支中具體化依賴關係的方式。因此,您可以將 Spack 部署基於發布分支並git pull
來取得修復,而無需使用develop
附帶的套件變更。
最新版本始終可透過releases/latest
標籤取得。
有關更多詳細信息,請參閱有關版本的文檔。
請注意,Spack 有行為準則。加入 Spack 社群即表示您同意遵守其規則。
非常感謝 Spack 的貢獻者。
Spack 由 Todd Gamblin 創建,[email protected]。
如果您在出版物中引用 Spack,請引用以下論文:
在 GitHub 上,您可以透過「引用此儲存庫」按鈕以 APA 或 BibTeX 格式複製此引文。或者,請參閱CITATION.cff
中原始 BibTeX 的註釋。
Spack 依據 MIT 授權和 Apache 授權(版本 2.0)的條款進行分發。使用者可以根據自己的選擇選擇任一許可證。
所有新的貢獻都必須在 MIT 和 Apache-2.0 許可證下進行。
有關詳細信息,請參閱 LICENSE-MIT、LICENSE-APACHE、COPYRIGHT 和 NOTICE。
SPDX 許可證識別碼:(Apache-2.0 或 MIT)
LLNL-代碼-811652