Since Maya included Python as it’s scripting language, animation TD’s all over the globe have made the transition from MEL.  While learning a new language isn’t always easy, I don’t know of a single person who misses the days of MEL scripting. Python is, in every conceivable way, better than MEL.

But many of us had invested serious effort in making the pain of MEL scripting more bearable by finding and tuning a nice development environment. Over the past couple years I’ve been experimenting with different editors and IDE’s in an attempt to find a suitable replacement for Mel Studio Pro (my preferred IDE for MEL development).

Since abandoning Mel Studio Pro, I’ve gone through a host of editors including; Nedit, SciTE, Visual Studio, Code::Blocks, jEdit, UltraEdit and emacs. These are all great editors and I’m sure they each have a loyal following. Indeed, some of them are really quite good.

But when it comes to integration with Maya, they all fall flat. There are a few things you need when editing Python code that is meant to run on Maya’s Python interpreter:

1. The ability to execute the code from within the IDE and run it inside Maya.

2. A step-through debugger that pauses/unpauses Maya.

3. Auto-Completion that recognizes the Maya API and MEL commands.

The editors listed above could do some of these things, but none of them can do ALL these things. In my opinion, these are the real value of using an IDE in the first place.  Without these major features, the editor is really just a fancy Notepad with syntax highlighting.

Ok, enough preamble. The editor I have settled on is Wing IDE, and yes it will do ALL of the things listed above (plus a lot more). Most importantly, I was able to get it setup and working with little fuss. The only strike against Wing? It’s not free. But I think you’ll agree the price is fair. And after all, if you do a lot of Python coding for a living, this is a nominal expense. But you won’t have to shell out anything to see if Wing IDE is what you need since you can download a 30 day trial of Wing IDE.

To get auto-complete of Maya functions  working in Wing IDE:

1. Install Wing IDE

2. You have to point Wing IDE to Maya’s own Python interpreter (it will complain that it can’t find Python installed since Maya maintains it’s own Python interpreter). Just go Project > Properties and set ‘Python Executable path to point to : C:\Program Files\Autodesk\Mayaxxxx\bin\mayapy.exe

3. Next, download this Python script. And place it in the Maya\bin directory. Now open the Maya python shell (double-click Mayaxxxx\bin\mayapy.exe) and run the script like this: execfile(“genmayapi.py”)

That’s it! Now try import maya.cmds as mc and type mc. to bring up the auto-complete list.  Woot!

Now for the second trick. You want full debugger with the ability to watch variables and set breakpoints that pause Maya? Wing can do that too. Maya actually has it’s own instructions for doing this. Just follow the steps outlined here.

There you have it! A full, professional grade Python development environment that integrates beautifully with Maya.