For #26218 - Fixed various initialisation issues.

Found and fixed a few edge cases that would throw 'PythonObject is not attached to a node' errors in Nuke, resulting in the app not being loaded and the script being left in an error'd state.
Wondering why compute_path_error returned as a separate thing? Could it be part of the dictionary? Or is the dictionary None when the error is not None? :)