本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 的 conda 組建配方 Blender
您可以使用不同的應用程式來建立 conda 建置配方。 Blender 可免費使用,而且可以輕鬆地與 conda 封裝。Foundation 為多個作業系統Blender提供應用程式封存
deadline-cloud.yaml
condaPlatforms: - platform: linux-64 defaultSubmit: true sourceArchiveFilename: blender-4.2.1-linux-x64.tar.xz sourceDownloadInstructions: 'Run "curl -LO https://download.blender.org/release/Blender4.2/blender-4.2.1-linux-x64.tar.xz"' - platform: win-64 defaultSubmit: false sourceArchiveFilename: blender-4.2.1-windows-x64.zip sourceDownloadInstructions: 'Run "curl -LO https://download.blender.org/release/Blender4.2/blender-4.2.1-windows-x64.zip"'
檢閱 recipe目錄中的檔案。配方的中繼資料位於 recipe/recipe.yaml。
您可以檢閱在 中選取的建置選項meta.yaml,以關閉各種二進位重新定位和動態共用物件 (DSO) 連結檢查。這些選項控制套件在任何目錄字首安裝到 conda 虛擬環境時的運作方式。預設值可簡化將每個相依性程式庫封裝成個別的套件,但在二進位重新封裝應用程式時,您需要變更它們。
如果您要封裝的應用程式需要額外的相依性程式庫,或者您是單獨封裝應用程式的外掛程式,您可能會遇到 DSO 錯誤。當相依性不在需要的可執行檔或程式庫的程式庫搜尋路徑中時,就會發生這些錯誤。在系統上安裝時,應用程式依賴於全域定義路徑中的程式庫/usr/lib,例如 /lib或 。不過,由於 conda 虛擬環境可以放置在任何地方,因此沒有絕對路徑可供使用。Conda 使用 Linux和 macOS 支援的相對 RPATH 功能來處理此問題。如需詳細資訊,請參閱讓套件可重新定位
Blender 不需要任何 RPATH 調整,因為應用程式封存是基於這一點而建置的。對於確實需要它的應用程式,您可以使用與 conda 建置相同的工具:patchelf在 Linux 和 install_name_tool上macOS。
在套件建置期間,build.shbld.bat) 指令碼會執行 ,以將檔案安裝到與套件相依性一起準備的環境中。這些指令碼會複製安裝檔案、從 建立符號連結$PREFIX/bin,以及設定啟用指令碼。在 上Windows,它不會建立符號連結,而是將 Blender 目錄新增至啟用指令碼中的 PATH。
針對 conda cmd.exe 建置配方Windows的一部分,我們使用 bash而不是 .bat 檔案,因為這可在建置指令碼之間提供更高的一致性。如需bash在 上使用 的秘訣,請參閱截止日期雲端開發人員指南的工作負載可攜性建議Windows。如果您已為 安裝 git Windowsbash。
conda 建置環境變數$SRC_DIR來源封存資料、$PREFIX安裝目錄、從配方$RECIPE_DIR存取其他檔案、$PKG_NAME$PKG_VERSION套件名稱和版本,以及目標 conda $target_platform 平台。
提交 Blender 4.2 套件任務
您可以下載Blender封存,然後將任務提交至套件建置佇列,以建置自己的 Blender 4.2 conda 套件來轉譯任務。佇列會將任務傳送至相關聯的機群,以建置套件並重新索引 conda 頻道。
這些指示使用 bash 相容 shell 的 git,從 Deadline Cloud 範例GitHub儲存庫
-
如果您使用的是 Windows,安裝 git 時會安裝一個版本的 bash、git BASH。
-
您必須安裝截止日期雲端 CLI
。 -
您必須登入截止日期雲端監視器。
-
使用下列命令開啟截止日期雲端組態 GUI,並將預設陣列和佇列設定為套件建置佇列。
deadline config gui -
使用下列命令來複製截止日期雲端範例GitHUb儲存庫。
git clone https://github.com/aws-deadline/deadline-cloud-samples.git -
變更為
conda_recipes目錄中的deadline-cloud-samples目錄。cd deadline-cloud-samples/conda_recipes -
執行名為 的指令碼
submit-package-job。指令碼提供Blender第一次執行指令碼時下載的指示。./submit-package-job blender-4.2/ -
遵循下載 的指示Blender。當您有封存時,請再次執行
submit-package-job指令碼。./submit-package-job blender-4.2/
提交任務後,請使用截止日期雲端監視器來檢視任務執行時的進度和狀態。
監視器的左下角顯示任務的兩個步驟,建置套件,然後重新編製索引。右下角顯示每個任務的個別步驟。在此範例中,每個任務都有一個步驟。
在監視器的左下角是任務的兩個步驟,建立套件,然後重新索引 conda 頻道。右下角是每個步驟的個別任務。在此範例中,每個步驟只有一個任務。
當您在套件建置步驟的任務上按一下滑鼠右鍵並選擇檢視日誌時,監視器會顯示工作階段動作清單,顯示如何在工作者上排程任務。動作包括:
-
同步附件 – 此動作會複製輸入任務附件或掛載虛擬檔案系統,視任務附件檔案系統所使用的設定而定。
-
啟動 Conda – 此動作來自您建立佇列時預設新增的佇列環境。任務不會指定任何 conda 套件,因此會快速完成且不會建立 conda 虛擬環境。
-
啟動 CondaBuild Env – 此動作會建立自訂 conda 虛擬環境,其中包含建置 conda 套件和重新索引頻道所需的軟體。它會從 conda-forge
頻道安裝 。 -
任務執行 – 此動作會建置Blender套件,並將結果上傳至 Amazon S3。
動作執行時,會以結構化格式將日誌傳送至 Amazon CloudWatch。當任務完成時,選取檢視所有任務的日誌,以查看有關任務執行所在環境設定和銷毀的其他日誌。