TankInitError: 您正从位于以下位置的工作流配置加载 Toolkit 平台
用例
运行某些代码以从应用发布文件时,有时文件属于其他项目。
能否解决 TankInitError: You are loading the Toolkit platform from the pipeline configuration located in
错误?
理想情况下,可以从路径中查找上下文以正确注册这些文件(即使它们属于其他项目)。
如何修复
使用以下函数:
def get_sgtk(proj_name, script_name):
""" Load sgtk path and import module
If sgtk was previously loaded, replace include paths and reimport
"""
project_path = get_proj_tank_dir(proj_name)
sys.path.insert(1, project_path)
sys.path.insert(1, os.path.join(
project_path,
"install", "core", "python"
))
# unload old core
for mod in filter(lambda m: m.startswith("sgtk") or m.startswith("tank"), sys.modules):
sys.modules.pop(mod)
del mod
if "TANK_CURRENT_PC" in os.environ:
del os.environ["TANK_CURRENT_PC"]
import sgtk
setup_sgtk_auth(sgtk, script_name)
return sgtk
该键从 sys.modules
中删除与 sgtk 相关的所有模块,并从环境中移除 TANK_CURRENT_PC
。有关概述信息,请参见如何使用 shotgunEvent 进程加载不同的 Toolkit 核心模块?