

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立 的 conda 組建配方 Autodesk Maya
<a name="create-conda-recipe-maya"></a>

您可以將商業應用程式封裝為 conda 套件。在[建立 的 conda 建置配方Blender](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/conda-package.html#create-conda-recipe-blender)中，您已了解如何封裝以簡單可重新放置的封存檔案和開放原始碼授權條款提供的應用程式。商業應用程式通常透過安裝程式分發，並且可能要搭配授權管理系統使用。

下列清單是以[為應用程式或外掛程式建立 conda 套件所涵蓋的基本概念為基礎，](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/conda-package.html)其需求通常與封裝商業應用程式相關。子項目符號中的詳細資訊說明如何將準則套用至 Maya。
+ 了解應用程式的授權權利和限制。您可能需要設定授權管理系統。如果應用程式不包含強制執行，您將需要根據您的權利來設定您的陣列。
  + 閱讀[Autodesk有關 雲端權利的訂閱優勢常見問答集](https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/Subscription-Benefits-FAQ-Cloud-Rights.html)，以了解Maya可能適用於您的 雲端權利。視需要設定您的截止日期雲端陣列。
  + Autodesk 產品依賴名為 的檔案`ProductInformation.pit`。此檔案的大多數組態都需要管理員存取系統，該系統不適用於服務受管機群。精簡型用戶端的產品功能提供可重新定位的方式來處理此問題。如需進一步了解，請參閱 [ Maya 和 MotionBuilder 的精簡型用戶端授權](https://www.autodesk.com/support/technical/article/caas/tsarticles/ts/2zqRBCuGDrcPZDzULJQ27p.html)。
+ 有些應用程式取決於未安裝在服務受管機群工作者主機上的程式庫，因此套件必須提供這些程式庫。這可以直接在應用程式套件中，或放在單獨的相依性套件中。
  + Maya 取決於許多這類程式庫，包括 freetype 和 fontconfig。當這些程式庫可在系統套件管理員中使用時，例如 `dnf` AL2023 的 ，您可以使用它做為應用程式的來源。由於這些 RPM 套件並非建置為可重新定位，因此您將需要使用 等工具`patchelf`，以確保相依性在Maya安裝字首內解析。
+ 安裝可能需要管理員存取權。由於服務受管機群不提供管理員存取權，因此您必須在具有此存取權的系統上執行安裝。然後，建立套件建置任務使用所需的檔案封存。
  + 的Windows安裝程式Maya需要管理員存取權，因此為其建置 conda 套件需要手動程序，才能先建立此類封存。
+ 應用程式組態，包括外掛程式如何註冊，可以在作業系統或使用者層級定義。放置在 conda 虛擬環境中時，外掛程式需要一種方式，以包含的方式與應用程式整合，且絕不會在虛擬環境字首之外寫入檔案或其他資料。我們建議您從應用程式的 conda 套件進行設定。
  + 範例Maya套件會定義環境變數`MAYA_NO_HOME=1`，將其與使用者層級組態隔離，並將模組搜尋路徑新增至 ，`MAYA_MODULE_PATH`以便個別封裝的外掛程式可以從虛擬環境內整合。範例MtoA套件會將 .mod 檔案放在其中一個目錄中，以便在Maya啟動時載入。

**撰寫配方中繼資料**

1. 在瀏覽器或儲存庫本機複製的文字編輯器中開啟 GitHub [ deadline-cloud-samples/conda\$1recipes/maya-2025](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-2025) 目錄。

   檔案`deadline-cloud.yaml`說明要為 建置套件的 conda 建置平台，以及從何處取得應用程式。配方範例會同時指定 Linux和 組Windows建，而且預設只會Linux提交 。

1. 從Autodesk登入下載完整Maya安裝程式。對於 Linux，套件建置可以直接使用封存，因此請將其直接放入 `conda_recipes/archive_files`目錄。對於 Windows，安裝程式需要管理員存取權才能執行。您需要執行安裝程式，並將必要的檔案收集到您要使用的套件配方封存中。配方中的 [ README.md](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/README.md) 檔案會記錄可重複的程序來建立此成品。此程序使用新啟動的 Amazon EC2 執行個體，為安裝提供一個乾淨的環境，然後您可以在儲存結果後終止。若要封裝需要管理員存取權的其他應用程式，您可以在決定應用程式所需的檔案集後遵循類似的程序。

1. 開啟 [ recipe/recipe.yaml](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/recipe.yaml) 和 [ recipe/meta.yaml](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/meta.yaml) 檔案，以檢閱或編輯 rattler-build 和 conda-build 的設定。您可以為要封裝的應用程式設定套件名稱和版本。

   **來源**區段包含封存的參考，包括檔案的 sha256 雜湊。每當您變更這些檔案時，例如新版本，您將需要計算和更新這些值。

   **建置**區段主要包含關閉預設二進位重新定位選項的選項，因為自動機制無法針對套件使用的特定程式庫和二進位目錄正常運作。

   最後，**關於** 區段可讓您輸入應用程式的一些中繼資料，可用於瀏覽或處理 conda 頻道的內容。

**撰寫套件建置指令碼**

1. Maya 範例 conda 建置配方中的套件建置指令碼包含註解，說明指令碼執行的步驟。閱讀註解和命令以探索下列項目：
   + 配方如何處理來自 的 RPM 檔案 Autodesk
   + 配方套用的變更可讓安裝重新定位至配方安裝所在的 conda 虛擬環境
   + 配方如何設定公用程式變數`MAYA_VERSION`，例如 `MAYA_LOCATION`和您的軟體可用來了解Maya正在執行的 。

1. 對於 Linux，開啟 [ recipe/build.sh](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/build.sh) 檔案以檢閱或編輯套件建置指令碼。

   針對 Windows，開啟 [ recipe/build\$1win.sh](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/build_win.sh) 檔案以檢閱或編輯套件建置指令碼。

**提交建置Maya套件的任務**

1. 在複製的 GitHub [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples) 儲存庫中輸入`conda_recipes`目錄。

1. 請確定您的截止日期雲端陣列已針對您的截止日期雲端 CLI 設定。如果您遵循[使用 Amazon S3 建立 conda 頻道](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/configure-jobs-s3-channel.html)的步驟，則應該為您的 CLI 設定您的陣列。

1. 執行下列命令來提交同時建置 Linux和 Windows套件的任務。

   ` ./submit-package-job maya-2025 --all-platforms`