Python scripting can be used for many tasks in Maya, from running simple commands to developing plug-ins, and several different Maya-related libraries are available targeting different tasks. The following is a brief overview of the Python libraries shipped with Maya:
In order to install Maya 2017 in silent mode, you will need to create a deployment image first. Create the deployment for Maya 2017. To create a deployment you will need the full installer of Maya 2017. Download the full installer of Maya 2017 from our Virtual Agent or through the Autodesk Account via Browser Download. Jun 25, 2021 Autodesk Maya 2017 For 64bit Windows Windows Windows Autodesk Softwares June 25, 2021 Autodesk Maya 2017 includes major workflow upgrades with new tools just like the Time Editor, which may be a comprehensive tool for creating and editing clip-based non-linear animation. Create overrides to enable or disable different AOVs on each render layer, or export your AOVs and import them into another scene. Create AOVs via the Render Settings window, AOVs tab. You can then follow these steps to create overrides on each render layer. To create an override to disable AOVs Click on the render layer for which you want to create an override, to set the layer as visible.
- maya.cmds
- This is a Python wrapper for MEL commands, and can be used in place of MEL. For more information, see Using Python and the Python Commands Reference.
- pymel.core
- Pymel is an alternative wrapper for MEL, developed by a third party. It is shipped with Maya, but not supported by Autodesk. It organizes commands differently, and takes an object-oriented approach compared to the procedural approach of maya.cmds. For more information, see Using PyMEL and the PyMel Reference.
- maya.OpenMaya
- This is a Python wrapper for the Maya C++ API, and referred to as Python API 1.0. It is suitable for developing plug-ins, and other tasks that require functionality not exposed by MEL. To understand the exposed classes, you should refer to the conceptual topics and the 'C++ API Reference' in the Maya Developer Help. For more information, see 'Maya Python API 1.0' in the Maya Developer Help.
- maya.api.OpenMaya
- This is a Python wrapper for the Maya C++ API, and referred to as Python API 2.0. This wrapper has better performance and is more 'Pythonic' than the Python API 1.0. It is also a newer API, and is still under development, so not all classes exposed in 1.0 are available. For more information, see 'Maya Python API 2.0' and 'Maya Python API 2.0 Reference' in the Maya Developer Help.
Using maya.cmds
Autodesk Maya supports the use of Python-style scripting wherever you used to use MEL commands. The implementation of Python scripting in Maya provides the same access to native Maya commands as is provided through MEL. That is, all of the built-in Maya commands, such as sphere, ls, and so on, are accessible through Python.
Commands that are written as MEL scripts—which are actually MEL global procedures (procs)—are accessible using a call to access MEL (maya.mel.eval). For more information, see MEL/Python communication.
PySide version 2.0 is included with Maya. It is built with Python 2.7 and Maya Qt version 5.6.1.
Note: There are certain MEL built-ins that are not available in Python, though they generally have Python counterparts. These include math functions (abs, sin, cos, ...) and string functions (match, gmatch, tokenize...). (The set of MEL built-in functions can be considered the MEL runtime library.)Python comes with a wide variety of standard modules that provide similar functionality. Refer to Python documentation for information on what is available and how to use these functions in your Python scripts.
Building PyQt for Maya 2017
When building PyQt for Autodesk Maya 2017, you must use the Microsoft 2012 Visual Studio Update 4 compiler. This is different from the behavior in Maya 2012.
For instructions on how to build a copy of the PyQt modules, see the PyQt section under autodesk.com/maya-docs.
Python Command Reference
There is a Python command reference similar to the MEL command reference. For details on all Python commands, refer to the Python command reference documentation in Maya Help.
You can access the help by selecting Help > Python Command Reference or open the Maya Help (Help > Maya Help), and when the Help appears, click CommandsPython at the bottom of the navigation frame.
Version
Maya installs Python with your Maya installation. Maya uses Python version 2.7.11 on all supported platforms. The standalone Python shell for Maya is named mayapy.exe on Windows and mayapy on Linux and Mac OS X.
External resources
For information about getting started with Python, including reference material and resources, see:
Initializing the Maya Environment in and for Python
Maya runs any Python commands in the userSetup.py file whenever it starts up. You can use this file to set up your working environment or execute commonly used Python commands such as importing the maya.cmds module.
The userSetup.py script is executed during the initialization and setup phase of Maya; therefore, only commands which set up your working environment and have no dependencies on Maya functionality can be successfully run in this script.
Note:You can use maya.utils.executeDeferred() to delay code execution until after the Maya scene is initialized. For more information, see maya.utils.
- Create a file named userSetup.py in the following folder:
- Windows: <drive>:Documents and Settings<username>My Documentsmaya<Version>scripts
- Mac OS X: ~/Library/Preferences/Autodesk/maya/<version>/scripts
- Linux: ~/maya/<version>/scripts
- In the userSetup.py file, type the commands you want Maya to run on start up; for example, import maya.cmds as mc. Note:
Make sure you save the file with the right extension (.py).
Adding items to your Python path
To add items to your path in Python, do one of the following:
- Set PYTHONPATH in your Maya.env file, or in your environment before you run Maya
- Append to sys.path in your userSetup.py or other script once Maya is running.
Autodesk Maya 2017 Setup With Product
Here is an example of appending sys.path
Autodesk Maya 2017 Setup With Key
MEL and Python importing
Autodesk Maya 2017 Setup With Activation
If you have a MEL script in your path, you do not need to source it before accessing any single global procedure it contains with the same name. However, Python requires you to import a script explicitly before accessing any classes or functions it contains; for example: