diff --git a/openpype/hooks/pre_python_2_prelaunch.py b/openpype/hooks/pre_python_2_prelaunch.py index d6b1fe57a5..84272d2e5d 100644 --- a/openpype/hooks/pre_python_2_prelaunch.py +++ b/openpype/hooks/pre_python_2_prelaunch.py @@ -4,12 +4,12 @@ from openpype.lib import PreLaunchHook class PrePython2Vendor(PreLaunchHook): """Prepend python 2 dependencies for py2 hosts.""" - # WARNING This hook will probably be deprecated in OpenPype 3 - kept for - # test order = 10 - app_groups = ["hiero", "nuke", "nukex", "maya", "houdini"] def execute(self): + if not self.application.use_python_2: + return + # Prepare vendor dir path self.log.info("adding global python 2 vendor") pype_root = os.getenv("OPENPYPE_REPOS_ROOT") diff --git a/openpype/lib/applications.py b/openpype/lib/applications.py index 51c646d494..730d4230b6 100644 --- a/openpype/lib/applications.py +++ b/openpype/lib/applications.py @@ -179,6 +179,7 @@ class Application: if group.enabled: enabled = data.get("enabled", True) self.enabled = enabled + self.use_python_2 = data["use_python_2"] self.label = data.get("variant_label") or name self.full_name = "/".join((group.name, name)) diff --git a/openpype/modules/ftrack/launch_hooks/pre_python2_vendor.py b/openpype/modules/ftrack/launch_hooks/pre_python2_vendor.py index 7826d833ac..d34b6533fb 100644 --- a/openpype/modules/ftrack/launch_hooks/pre_python2_vendor.py +++ b/openpype/modules/ftrack/launch_hooks/pre_python2_vendor.py @@ -8,10 +8,13 @@ class PrePython2Support(PreLaunchHook): Path to vendor modules is added to the beggining of PYTHONPATH. """ - # There will be needed more granular filtering in future - app_groups = ["maya", "nuke", "nukex", "hiero", "nukestudio"] def execute(self): + if not self.application.use_python_2: + return + + self.log.info("Adding Ftrack Python 2 packages to PYTHONPATH.") + # Prepare vendor dir path python_2_vendor = os.path.join(FTRACK_MODULE_DIR, "python2_vendor") diff --git a/openpype/settings/defaults/system_settings/applications.json b/openpype/settings/defaults/system_settings/applications.json index e7e934e1ea..2355f39aa1 100644 --- a/openpype/settings/defaults/system_settings/applications.json +++ b/openpype/settings/defaults/system_settings/applications.json @@ -20,6 +20,7 @@ }, "variants": { "2022": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Autodesk\\Maya2022\\bin\\maya.exe" @@ -39,6 +40,7 @@ } }, "2020": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Autodesk\\Maya2020\\bin\\maya.exe" @@ -58,6 +60,7 @@ } }, "2019": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Autodesk\\Maya2019\\bin\\maya.exe" @@ -77,6 +80,7 @@ } }, "2018": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Autodesk\\Maya2018\\bin\\maya.exe" @@ -118,6 +122,7 @@ }, "variants": { "13-0": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Nuke13.0v1\\Nuke13.0.exe" @@ -135,6 +140,7 @@ "environment": {} }, "12-2": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe" @@ -152,6 +158,7 @@ "environment": {} }, "12-0": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe" @@ -169,6 +176,7 @@ "environment": {} }, "11-3": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe" @@ -186,6 +194,7 @@ "environment": {} }, "11-2": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke11.2v2\\Nuke11.2.exe" @@ -227,6 +236,7 @@ }, "variants": { "13-0": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Nuke13.0v1\\Nuke13.0.exe" @@ -250,6 +260,7 @@ "environment": {} }, "12-2": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe" @@ -273,6 +284,7 @@ "environment": {} }, "12-0": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe" @@ -296,6 +308,7 @@ "environment": {} }, "11-3": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe" @@ -319,6 +332,7 @@ "environment": {} }, "11-2": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke11.2v2\\Nuke11.2.exe" @@ -366,6 +380,7 @@ }, "variants": { "13-0": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Nuke13.0v1\\Nuke13.0.exe" @@ -389,6 +404,7 @@ "environment": {} }, "12-2": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe" @@ -412,6 +428,7 @@ "environment": {} }, "12-0": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe" @@ -435,6 +452,7 @@ "environment": {} }, "11-3": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe" @@ -458,6 +476,7 @@ "environment": {} }, "11-2": { + "use_python_2": true, "executables": { "windows": [], "darwin": [], @@ -503,6 +522,7 @@ }, "variants": { "13-0": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Nuke13.0v1\\Nuke13.0.exe" @@ -526,6 +546,7 @@ "environment": {} }, "12-2": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe" @@ -549,6 +570,7 @@ "environment": {} }, "12-0": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe" @@ -572,6 +594,7 @@ "environment": {} }, "11-3": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe" @@ -595,6 +618,7 @@ "environment": {} }, "11-2": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Nuke11.2v2\\Nuke11.2.exe" @@ -657,6 +681,7 @@ "16": { "enabled": true, "variant_label": "16", + "use_python_2": false, "executables": { "windows": [], "darwin": [], @@ -672,6 +697,7 @@ "9": { "enabled": true, "variant_label": "9", + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Blackmagic Design\\Fusion 9\\Fusion.exe" @@ -735,6 +761,7 @@ "16": { "enabled": true, "variant_label": "16", + "use_python_2": false, "executables": { "windows": [ "C:/Program Files/Blackmagic Design/DaVinci Resolve/Resolve.exe" @@ -770,6 +797,7 @@ }, "variants": { "18-5": { + "use_python_2": true, "executables": { "windows": [ "C:\\Program Files\\Side Effects Software\\Houdini 18.5.499\\bin\\houdini.exe" @@ -785,6 +813,7 @@ "environment": {} }, "18": { + "use_python_2": true, "executables": { "windows": [], "darwin": [], @@ -798,6 +827,7 @@ "environment": {} }, "17": { + "use_python_2": true, "executables": { "windows": [], "darwin": [], @@ -832,6 +862,7 @@ }, "variants": { "2-83": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Blender Foundation\\Blender 2.83\\blender.exe" @@ -853,6 +884,7 @@ "environment": {} }, "2-90": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Blender Foundation\\Blender 2.90\\blender.exe" @@ -874,6 +906,7 @@ "environment": {} }, "2-91": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Blender Foundation\\Blender 2.91\\blender.exe" @@ -914,6 +947,7 @@ "20": { "enabled": true, "variant_label": "20", + "use_python_2": false, "executables": { "windows": [], "darwin": [], @@ -929,6 +963,7 @@ "17": { "enabled": true, "variant_label": "17", + "use_python_2": false, "executables": { "windows": [], "darwin": [ @@ -955,6 +990,7 @@ }, "variants": { "animation_11-64bits": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\TVPaint Developpement\\TVPaint Animation 11 (64bits)\\TVPaint Animation 11 (64bits).exe" @@ -970,6 +1006,7 @@ "environment": {} }, "animation_11-32bits": { + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files (x86)\\TVPaint Developpement\\TVPaint Animation 11 (32bits)\\TVPaint Animation 11 (32bits).exe" @@ -1005,6 +1042,7 @@ "2020": { "enabled": true, "variant_label": "2020", + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Adobe\\Adobe Photoshop 2020\\Photoshop.exe" @@ -1022,6 +1060,7 @@ "2021": { "enabled": true, "variant_label": "2021", + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Adobe\\Adobe Photoshop 2021\\Photoshop.exe" @@ -1053,6 +1092,7 @@ "2020": { "enabled": true, "variant_label": "2020", + "use_python_2": false, "executables": { "windows": [ "" @@ -1070,6 +1110,7 @@ "2021": { "enabled": true, "variant_label": "2021", + "use_python_2": false, "executables": { "windows": [ "C:\\Program Files\\Adobe\\Adobe After Effects 2021\\Support Files\\AfterFX.exe" @@ -1098,6 +1139,7 @@ "local": { "enabled": true, "variant_label": "Local", + "use_python_2": false, "executables": { "windows": [], "darwin": [], @@ -1142,6 +1184,7 @@ "environment": {}, "variants": { "python_3-7": { + "use_python_2": true, "executables": { "windows": [], "darwin": [], @@ -1155,6 +1198,7 @@ "environment": {} }, "python_2-7": { + "use_python_2": true, "executables": { "windows": [], "darwin": [], @@ -1168,6 +1212,7 @@ "environment": {} }, "terminal": { + "use_python_2": true, "executables": { "windows": [], "darwin": [], @@ -1194,6 +1239,7 @@ "environment": {}, "variants": { "1-1": { + "use_python_2": false, "executables": { "windows": [], "darwin": [], diff --git a/openpype/settings/entities/input_entities.py b/openpype/settings/entities/input_entities.py index e406c7797a..e897576d43 100644 --- a/openpype/settings/entities/input_entities.py +++ b/openpype/settings/entities/input_entities.py @@ -376,7 +376,10 @@ class BoolEntity(InputEntity): def _item_initalization(self): self.valid_value_types = (bool, ) - self.value_on_not_set = True + value_on_not_set = self.convert_to_valid_type( + self.schema_data.get("default", True) + ) + self.value_on_not_set = value_on_not_set class TextEntity(InputEntity): diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/template_host_variant_items.json b/openpype/settings/entities/schemas/system_schema/host_settings/template_host_variant_items.json index bba4634c46..472840d8fc 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/template_host_variant_items.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/template_host_variant_items.json @@ -1,4 +1,10 @@ [ + { + "type": "boolean", + "key": "use_python_2", + "label": "Use Python 2", + "default": false + }, { "type": "path", "key": "executables",