

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为其创建 conda 构建配方 Autodesk Maya
<a name="create-conda-recipe-maya"></a>

您可以将商业应用程序打包为 conda 软件包。在为 c [reate a conda 构建配方](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/conda-package.html#create-conda-recipe-blender)中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可能适用于您的云权限。根据需要配置您的 Deadline 云场。
  + Autodesk产品依赖名为的文件`ProductInformation.pit`。此文件的大部分配置都需要管理员访问系统，而服务管理的队列不提供此权限。瘦客户机的产品功能提供了一种可重定位的方式来处理这个问题。要了解更多信息，请参阅[适用于 Maya MotionBuilder 的瘦客户机许可](https://www.autodesk.com/support/technical/article/caas/tsarticles/ts/2zqRBCuGDrcPZDzULJQ27p.html)。
+ 某些应用程序依赖于未安装在服务管理的舰队工作主机上的库，因此软件包必须提供这些库。这可以直接放在应用程序包中，也可以放在单独的依赖包中。
  + Maya取决于许多这样的库，包括 freetype 和 fontconfig。当这些库在系统包管理器中可用时（例如在 f `dnf` o AL2023 r 中），则可以将其用作应用程序的源代码。由于这些 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 和 recipe/meta.yaml 文件](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/recipe.yaml)[来查看或编辑 rattler-build 和 conda-](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/maya-2025/recipe/meta.yaml) build 的设置。您可以为要打包的应用程序设置软件包名称和版本。

   **源代码**部分包含对档案的引用，包括文件的 sha256 哈希值。无论何时更改这些文件（例如更改为新版本），都需要计算和更新这些值。

   **构建**部分主要包含关闭默认二进制重定位选项的选项，因为对于软件包使用的特定库和二进制目录，自动机制将无法正常工作。

   最后，“**关于**” 部分允许您输入一些有关应用程序的元数据，这些元数据可以在浏览或处理 conda 频道的内容时使用。

**编写软件包生成脚本**

1. conda 构建配方Maya示例中的软件包构建脚本包含解释脚本执行步骤的注释。通读评论和命令以发现以下内容：
   + 配方如何处理来自 RPM 文件 Autodesk
   + 配方为使安装可重定位到安装配方的 conda 虚拟环境而应用的更改
   + 配方如何设置实用程序变量，例如`MAYA_LOCATION`和`MAYA_VERSION`，您的软件可以使用这些变量来了解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. 确保已为 Deadline Cloud CLI 配置了 Deadline Cloud 场。如果您按照[使用 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`