用户手册 > 脚本 > Python > 

来自外部解释器的 Python

 
 
 

除了在 Maya 应用程序内支持 Python,Maya 也支持从独立 Python 解释器使用 Maya Python 模块。在执行批处理或从使用 Python 的另一应用程序(如 MotionBuilder 或 Composite)访问 Maya 功能时,这将非常有用。

我们提供了独立的 Python 解释器,已正确配置供导入 Maya 功能。

Python 解释器加载后,必须加载和初始化 Maya。为此,请在窗口中键入以下内容:

import maya.standalone maya.standalone.initialize( name='python' )

注意

这些命令的执行需要花费大量时间,因为它们将加载所有 Maya 库并初始化场景。

初始化程序只需要一个参数 (name),并且是可选的。name 参数为 Maya 提供应用程序的名称。name 的默认值是 python

Maya 加载并初始化后,所有 Maya 功能都应可用(maya.cmdsmaya.OpenMaya 等)。但是,在 Python 解释器中运行 Maya 相当于在批处理模式下运行 Maya。这意味着所有常规 Maya 批处理模式限制都存在,包括禁用 UI 命令。

注意

Maya 在 Maya 内设定 PYTHONHOME 环境变量,在 Maya 外(即,使用外部解释器时)清除该变量。

提示若要确定是否在 Maya 内部 Python 解释器中,您可以执行以下代码块:
		try: 			import maya.standalone 			maya.standalone.initialize() 		except: 			pass

如果在 Maya 内部 Python 解释器中,initialize() 调用将抛出异常,该异常将被安全捕捉。

使用不同的 Python 解释器

可以通过 Maya 随附 Python 解释器之外的 Python 解释器使用 Maya。但是,建议使用版本号与 Maya 中所含 Python 相同的 Python。若要使用另一解释器,必须设置正确的环境。

为 Python 解释器设置环境

  1. 在解释器初始化后(但要在 Maya 初始化前),将 Maya 的 site-packages 目录添加到 PYTHONPATH 环境变量,或将其添加到 Python 内的 sys.path。该目录是:
    • Windows:./Python/Lib/site-packages
    • Mac OS X:../files/Maya.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python2.4/site-packages
    • Linux:../files/lib/python2.4/site-packages
  2. 将 MAYA_LOCATION 环境变量设定为指向 Maya 安装位置,以便 Maya 可以找到其资源。

    在 Mac OS X 上,MAYA_LOCATION 必须设定为指向应用程序包(即 ../files/Maya.app/Contents)。

  3. (Linux) 将 Maya 分发的 lib 目录添加到 LD_LIBRARY_PATH,以便 Python 可以在导入 Maya 时找到共享库。
    提示在 Mac OS X 上,mayapy 可执行文件是 shell 脚本,可以进行复制和修改以使用其他 Python 安装。

    设置无脚本环境

    1. 将 ../files/Maya.app/Contents/MacOS 添加到 DYLD_LIBRARY_PATH,以便 Python 可以找到 Maya 共享库。

    2. 将 ../files/Maya.app/Contents/Frameworks 添加到 DYLD_FRAMEWORK_PATH,以便 Python 可以找到 Maya 所依赖的框架。

    3. 将 MAYA_NO_BUNDLE_RESOURCES 设定为某些值。这将要求 Maya 通过 MAYA_LOCATION 查找资源,而不是通过查找主包。(当 Maya 以这种方式批处理运行时,主包不是 Maya 的主包。)