![Linux NUKE_PATH 环境变量仅在 GUI / 交互中被识别](https://linux22.com/image/1578658/Linux%20NUKE_PATH%20%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E4%BB%85%E5%9C%A8%20GUI%20%2F%20%E4%BA%A4%E4%BA%92%E4%B8%AD%E8%A2%AB%E8%AF%86%E5%88%AB.png)
我已经设置了“NUKE_PATH”环境变量,当从开放的终端运行 nuke 时,该变量可以被识别并加载而不会出现问题,但是当我使用 RUSH 提交远程渲染作业时,它会被忽略。
即使从终端以 -V 详细模式运行 Nuke 也会显示其加载环境变量的位置并查看日志,远程提交时会跳过这些操作。
我在以下 3 个地方设置了 NUKE_PATH:
- /etc/environment(NUKE_PATH=/path/to/scripts)
- ~/.bashrc(导出NUKE_PATH='/path/to/scripts')
- ~/.bash_profile(导出NUKE_PATH='/path/to/scripts')
这些都无法通过渲染的命令行执行来识别,但在 GUI 中都可以正常工作。
任何帮助将不胜感激。
答案1
经过进一步的实验,我发现处理这个问题的最佳方法不是在 Linux 的 blade 级别,而是在 python 的提交级别。使用以下命令将 ENV 作为流程的一部分进行设置:
- os.environ["NUKE_PATH"] = "/path/to/scripts"
解决问题并以更可控和更有效的方式处理它,同时还省去了无论什么操作系统都必须在任何主机上设置 ENV 的麻烦。