Python 3 and us

Are any of your studios prepping or moving to python 3? Would you be ready is maya went to py3? What is holding you back?

we are not, we have been sticking with whatever version maya is using. when maya moves to 3, we’ll move to 3.

Same here. Besides the fact that Maya is the anchor, there’s also the ongoing issue with 3 not providing enough tangible benefits over 3 to justify the costs involved in switching

We’d do it if maya switched, which as far as I know isn’t even on their roadmap for the next couple of years

What they all said…

We ran through this question earlier this year, I’d love to move forward because 2.7 is in security fix mode only. But Maya’s on 2.7 so we’re still anchoring around that.

Staying on what ever maya is on, and even if maya did move, it will be a while till all the pipeline scripts are ported over.

We’re in the process of moving from 2.6.4 to 3.4. I decided we’d finally crossed some ethereal line where Python 3-specific features in some third-party stuff was looking appealing. We also had a window of opportunity approaching where we could get the work done/tested. So off we went.

We have an embedded interpreter used by most of our large tools plus a standalone Python distribution we also build on-site. They are separate but share our internal libraries and most of the third-party ones we use, so they have to upgrade together. It’s a slow process mainly because me and the other guy are often putting it on hold for other things.

Actually changing Python code for 3 isn’t a big deal, even mountains of it. The 2to3 tool is pretty solid, and has literally saved me days. It was easy to write a couple custom “fixers” for it as well. If you’re on 2.6 or 2.7 you can generally write very Python 3-compatible code anyway, which has reduced the changes necessary, for sure. The time has gone into upgrading/building/integrating the new releases of 40 or so third-party extensions we use. The big one for us has been wxPython. They rewrote a lot of it for Python 3 and it’s only mostly finished. The incomplete bits haven’t actually been an issue, it’s the completed-but-with-rare-bugs parts. When we can focus on it we’ve been able to deal with the bugs, but due to competing priorities it’s gone in fits and starts.

Our Maya Python tools are at 2.7.something and have their own build. It’s insulated from the rest and I’m not touching that until we have to.

I think at this point, py3 is now standard and writing 2.7 is not as common. Most of the compiled libs have all been migrated up to 3 from what i can tell. As adam said, 2-3 isn’t that bad.

We are currently running tools outside of maya on py3 and inside max/maya on 2.7. I have been enforcing the use of some of the future things so folks get in the habit of writing py3 compliant stuff. there is a -3 flag you can add to maya.exe that will print out py3 incompatibilities in your scripts too.

I can’t see Ad holding on to 2.7 past 2017. they say 2.7 will be in bug fix mode till 2020, but i’m sure it will be even more stale in a year or so.

I agree with theodox though, it’s a tough sell for little gain.

Any thoughts on this now? I saw this post on the VFX Platform Twitter page:

Python 2.7 support ends in 2020 so we are giving advance notice that the VFX Reference Platform will specify Python 3 for CY2019.

I see them “ending” support for 2.7 every couple of years, pushed back nearly every time. Could 2020 finally be it? ¯\(ツ)/¯

We’re also staying in parity with whatever version is bundled with Maya. I also do not know when Autodesk plans on switching, but I actually think it’s not even on their radar.

But if enough devs want Python 3 and voice that to Autodesk, maybe they’ll consider it? Again, ¯\(ツ)/¯.

Edit: it’s hard to do the “shrug” on here, apparently

1 Like

2020 is the end of support from python-dev, and they very much seem to be sticking to this timeline.

Paid support will still exist from various vendors, for instance RedHat will continue it’s system python, which is a python2.x on some of their LTS versions.

Autodesk does tend to pay attention to the VFX reference platform, so this will be a strong indication that at least one large block of their customers would like the upgrade.

2 Likes

It’s hilarious to me I made that reply up there in 2015. We’re literally just now throwing the switch on our Python 3 upgrade this week. :confused:

3 Likes

…institutional inertia FTW…

oh and shipping

I don’t fully understand this question, as far as Python goes I can only see people using it because it’s embedded as a scripting language in popular programs [Maya, Houdini, Nuke, etc] as long as they don’t update to 3 then there’s nothing much we can do.

We code for Python 3.3.5 (Autodesk has FBX Python plugin that is not available any higher – at least the last time I checked) as well as the different point versions of the internal Python that ships with Maya/Max/MB.

There are a lot of tools we develop that artists will call, but don’t require interaction with the main program – and we often do calls out to the system Python. PyCharm makes it easy to switch between the Python interpreter. I can dev using MayaPy.exe or the system Python fairly quickly and while there are some differences between versions, PyCharm will lint against 2.7 and 3.3 if that is an issue.

I would like to move forward to an even more recent Python (3.6+) – but my one dependency is that FBX plugin. Also – we don’t roll our own Python, but do a pip install of some libraries – like P4, lxml, pillow, Qt, etc.