ShotGrid Desktop - default to python3?

It feels like ShotGrid Desktop should be defaulting to Python3 at this point. Is there a way to set that up other than setting the SHOTGUN_PYTHON_VERSION variable to 3? It’s a little tedious at the moment dealing with remote artists.

2 Likes

Bump

I want to live in a Python 3 by default! This is an important thing for me as we have remote artists using their local machines sometimes. For non-technical Mac users, setting an environment variable is a big scary thing to do. There is no dialog to set environment variables like windows, so telling someone to manually create an edit their /etc/launchd.conf is a lot to ask. I would love it if there was a Python 3 default version of ShotGrid Desktop. OR an option to set Python version for specific software.

Have you tried changing <project_path>/config/core/interpreter_Darwin.cfg? Sounds like it might work. You have to point it to Shotgun’s Python 3 (I think both versions are installed).

Out of curiosity, does setting environment variables in /etc/launchd.conf work in modern versions of macOS? I was under the impression that Apple disabled support for this from Yosemite on. The way I’ve done it is to add a .plist file to /Library/LaunchDaemons for GUI apps and do the same in /etc/profile for Terminal stuff. Granted, this solution is even less acceptable for a non-technical end user.

Yeah I think /etc/launchd.conf is still the only way to set system-wide environment variables on Mac. It’s worked for me on both Catalina and Mojave. I believe you have to open permissions on the file if you want it to be truly system-wide though.

This link will show you how to set Desktop to use python 3 by default: Setting Python 3 for Desktop - SG Developer

My god…

And then they pretend Apple is such a simple OS…

Yes, we are all trying to avoid doing this, now. The treatment of Python 3 / 2 should be reversed:

The Default should now be Python 3.

Set SHOTGUN_PYTHON_VERSION=2 in order to revert to Python 2.

Actually I found something in the release notes for SG Desktop.

Specifically:

V1.6.1
What is new?

You can choose which version of Python to run Shotgun Desktop under. When running the Advanced Project Setup in Python 3 mode, projects will be configured to use the built-in Python 3 interpreter. Note that once setup, a project configured with Python 3 can still be used by a user running a Python 2 version of Shotgun Desktop and vice-versa.

To select which version of Python to use on startup, set the SHOTGUN_PYTHON_VERSION environment variable to 2 or 3 .

So it seems like something is set after the advanced project wizard to launch a project in python 3 mode.