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
There are certain MEL built-ins that are not
available in Python, though they generally have Python counterparts.These
include math functions (abs
...) and string functions (match
(The set of MEL built-in functions can be considered the MEL runtime
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.
Python Command Reference
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
Help > Python Command Referenceor open
the Maya Help (
Help > Maya Help),
and when the Help appears, click CommandsPython
at the bottom of the navigation frame.
installs Python with your Maya installation. Maya uses Python version 2.6
on all supported platforms. The standalone Python shell for Maya
is named mayapy.exe on Windows
and mayapy on Linux
and Mac OS X.
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.
You can use maya.utils.executeDeferred()
code execution until after the Maya scene is initialized. For more
- Create a file named userSetup.py in the following folder:
- Windows: <drive>:\Documents
and Settings\<username>\My Documents\maya\<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.
NoteMake sure you save
the file with the right extension (.py).
Adding items to your Python
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.
Here is an example of
import sys sys.path.append( '/Users/jdoe/maya/Scripts' )
MEL and Python importing
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:
# This will access the function "bar" in the file "foo.py"