本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为其创建 conda 构建配方 Autodesk Maya
与诸如此类的开源应用程序相比,诸如此类的商业应用程序Autodesk Maya引入了额外的封装要求Blender。该Blender配方在开源许可证下打包了一个简单的可重定位档案。商业应用程序通常通过安装程序分发,需要许可证管理配置。
商业应用的注意事项
打包商业应用程序时,需要考虑以下注意事项。详细信息说明了每个细节是如何适用的Maya。
-
许可-了解应用程序的许可权和限制。您可能需要配置许可证管理系统。阅读有关云权限的Autodesk订阅权益常见问题解答
,了解云权限Maya。 Autodesk产品依赖于通常需要管理员访问权限才能配置的 ProductInformation.pit文件。瘦客户机的产品功能提供了一种可重新定位的替代方案。有关更多信息,请参阅适用于 Maya MotionBuilder 的瘦客户机许可。 -
系统库依赖关系-某些应用程序依赖于未安装在服务管理的舰队工作主机上的库。 Maya取决于包括 freetype 和 fontconfig 在内的库。当这些库在系统包管理器中可用时(
dnf例如 for) AL2023,则可以使用软件包管理器作为源。由于 RPM 包不是为可重定位而构建的,因此您需要使用诸如patchelf解决Maya安装前缀内的依赖关系之类的工具。 -
管理员访问权限才能进行安装-某些安装程序需要管理员访问权限。服务管理队列不提供管理员访问权限,因此您需要在单独的系统上安装应用程序,并为软件包版本创建文件存档。的Windows安装程序Maya需要这种方法。配方中的 README.md
记录了一个使用新启动的亚马逊弹性计算云 (Amazon EC2) 实例的可重复过程。 -
插件集成 — 示例Maya包定义
MAYA_NO_HOME=1将应用程序与用户级配置隔离开来,并在其中添加了模块搜索路径,MAYA_MODULE_PATH以便插件包可以在虚拟环境中放置.mod文件。有关完整的插件集成惯例,请参阅 Maya2026 示例配方。
了解食谱
re cipe.yaml
-
来源 — 引用安装程序档案,包括 sha256 哈希值。在上Linux,源是Autodesk安装程序存档。在上Windows,源代码包括安装程序存档和Maya为云部署Autodesk做准备的
cleanMayaForCloud.py脚本。更改源文件时更新哈希值,例如打包新版本时。 -
build — 关闭默认的二进制重定位和 DSO 链接检查,因为自动机制无法正常用于Maya使用的库和二进制目录。开启后Linux,配方中包含
patchelf了用于手动设置相对依赖项的构建依赖项 RPATHs。 -
about — 有关用于浏览或处理 conda 频道内容的应用程序的元数据。
生成脚本(build.sh 为
-
解压缩安装程序 — 将Maya安装文件提取到 conda 前缀中。由于安装程序格式不同,Linux和Windows脚本对此的处理方式有所不同。有关详细信息,请参阅构建脚本。
-
安装系统库依赖项 — 开Linux启后,脚本会下载并提取Maya需要但服务管理的队列主机上不存在的系统库。该脚本将这些库复制到Maya
lib目录中,以便它们在 conda 环境中可用。 -
RPATHs 使用 patchelf 设置相对路径 — 启用Linux,脚本用于
patchelf --add-rpath向共享$ORIGIN库添加相对路径。这种方法遵循了 conda 的建议,即永远不要LD_LIBRARY_PATH在 conda 环境中使用。该脚本修补多个目录级别(lib、lib/python*/site-packages、lib/python*/lib-dynload)的库,以便每个库都能找到其相对于自己位置的依赖关系。该配方遵循设置DT_RUNPATH而不是的最佳实践DT_RPATH,它允许LD_LIBRARY_PATH在需要调试时覆盖搜索路径。 -
配置瘦客户机许可 — 该脚本设置了所记录的瘦客户机许可
,Autodesk这样 ProductInformation.pit文件就可以位于 conda 环境中,而不必要求系统级管理员访问权限。 -
设置激活脚本-脚本创建用于设置环境变量的激活和停用脚本
MAYA_LOCATION,包括MAYA_VERSIONMAYA_NO_HOME、和MAYA_MODULE_PATH。开启后Windows,脚本会同时生成.sh和.bat激活文件,因为 Deadline Cloud 示例队列环境用于bash激活环境Windows。
构建Maya软件包
在构建Maya软件包之前,请从您的Autodesk帐户下载Maya安装程序。对于Linux,请将存档直接放到conda_recipes/archive_files目录中。对于Windows,请按照 README.md
rattler-build publish用于生成和发布软件包。该Maya配方需要patchelf作为构建依赖项Linux,可从 conda--c conda-forge以使依赖关系在构建期间可用。在conda_recipes目录中,运行以下命令。
rattler-build publish maya-2026/recipe/recipe.yaml \ --to file://$HOME/my-conda-channel \ --build-number=+1 \ -c conda-forge
对于其他发布选项:
-
要发布到 Amazon S3 频道,请参阅将包发布到 S3 conda 频道。
-
要使用 Deadline Cloud 包生成队列自动构建,请参阅使用 Deadline Cloud 自动生成软件包。要同时生成Linux和Windows软件包,请使用
submit-package-job脚本中的--all-platforms选项。
要使用Maya和渲染转盘示例Arnold,请同时构建MtoA插件和Maya适配器包。发布所有三个包后,你可以使用 Deadline Cloud 示例存储库中的带Maya/Arnold任务包的转盘