Python 3 Upgrade Guide

Warning

Please be advised that as of Deadline 10.3.0, the only supported Python version in Deadline is 3.10.

Overview

This guide is for users that have made custom Python workflows or have modified any Python scripts shipped with Deadline. If you aren’t using custom scripts and are relying on what Deadline ships, no further actions are required. Once you upgrade to Deadline 10.3.0, you will be automatically migrated to Python 3.10.

Important changes

Deadline now ships a Python 3.10.12 installation. You cannot control or change this version.

All Plugins and Event Plugins will run with Python 3.10. This includes custom Events and Plugins.

Shebang lines at the top of the Python Plugin file are now ignored, even if set to #!/usr/bin/env python2. All Plugins will run as Python 3.10.

Custom Plugins & Events

Ensure any custom plugins or events you have created, call the super class constructor before doing anything else by making sure the line below is included in your __init__() function for each plugin/event as of Deadline 10.3. Examples can be seen in our Application and Event plugin documentation.

class MyPlugin(DeadlinePlugin):
    """This is the main DeadlinePlugin class for MyPlugin."""
    def __init__(self):
        """Hook up the callbacks in the constructor."""
        super().__init__() # Required in Deadline 10.3 and later.

Why are we upgrading to Python 3.10?

Our goal is to meet the recommendations of the VFX Platform, which as of CY2023 recommends using Python 3.10. As of June 6, 2023, Python 3.7 had it’s last release. This means that it is no longer supported and there will be no more updates even if someone finds a security problem. For more information see Python 3.7 Release Schedule.

How to upgrade to Python 3.10?

Your custom/modified scripts, Plugins, and Events will need to support Python 3.10.

If you are upgrading to this version of Deadline, please see the important changes since Python 3.7: