What's the issue?
We've recently introduced the possibility to create a pipeline configuration that is not associated to a project. Unfortunately, the setup_project command in pre-0.16.8 versions of the core assumes there is always a project associated to a pipeline configuration. When running the setup_project command, you might experience this error:
ERROR: A general error was reported: 'NoneType' object has no attribute 'get'
Traceback (most recent call last):
File "/xxx/install/core/scripts/tank_cmd.py", line 1597, in <module>
exit_code = run_engine_cmd(logger, pipeline_config_root, ctx_list, cmd_name, using_cwd, cmd_args)
File "/xxx/install/core/scripts/tank_cmd.py", line 1263, in run_engine_cmd
return tank_command.run_action(log, tk, ctx, command, args)
File "/xxx/install/core/python/tank/deploy/tank_command.py", line 456, in run_action
return found_action.run_interactive(log, args)
File "/xxx/install/core/python/tank/deploy/tank_commands/setup_project.py", line 210, in run_interactive
config_uri = self._select_template_configuration(log, sg)
File "/xxx/install/core/python/tank/deploy/tank_commands/setup_project.py", line 355, in _select_template_configuration
log.info(" %s: No valid config found for this OS!" % ppc.get("project").get("name"))
AttributeError: 'NoneType' object has no attribute 'get'
Generally, a pipeline configuration without a project is introduced by the newest version of the Shotgun Desktop in order to remove the dependency on the Template Project.
How can I fix this?
There are three solutions to this issue:
- Do a "tank core" update to fetch the latest version of core which doesn't exhibit this behaviour.
- If you can't update your core version, temporarily assign the pipeline configuration to the Template Project before running setup_project. You can leave it assigned to the Template Project after setting up your new project, but this might bring back issues that have been documented here.
- The third solution is to delete the project-less pipeline configuration and stop using Shotgun Desktop until you are ready to update the core.