CGRU

发布时间 2023-04-20 09:37:11作者: 春游去动物园

CGRU-PYTHONAPI

1.在CGRU项目文件中找到PYTHONAPI

(1) 第一部分在cgru/afanasy/python

如图

'''
	注意文件夹名字,目前不可以改,还没研究出来,所以先用python作为文件名
'''

(2)第二部分 cgru\lib\python

如图

全部复制粘贴到项目的python文件夹中即可,效果参考上面的一张图。

这时我们还是使用不了,需要进行第二步。

2.复制配置文件

'''
	我们需要复制2个配置文件
	第一个配置文件:cgru\config_default.json
	第二个配置文件: cgru\afanasy\config_default.json 后面我们需要把这个配置文件的文件名修改为config.json
'''

3.添加环境变量

现在运行cgru提供的例子时会报错,内容如下

Traceback (most recent call last):
  File "C:/Users/lvchenxi/Desktop/render/main.py", line 3, in <module>
    import af
ModuleNotFoundError: No module named 'af'

Process finished with exit code 1

这时我们需要把python文件夹加入到环境变量,代码如下

# -*- coding: utf-8 -*-
import sys, os

# 将python文件夹
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'python'))

import af

job = af.Job('Blender Test')
# 给任务设置名称
job.setName('测试渲染提交')

block = af.Block('render', 'blender')
# block = af.Block()
# block.setCommand('blender -b /opt/data/outputs/Blender-282.20230414171410.blend -s @#@ -e @#@ -a')
block.setCommand('blender -b /opt/data/outputs/Blender-282.20230414171410.blend -y -E CYCLES -o /opt/data/outputs -s @#@ -e @#@ -j 1 -a')
block.setNumeric(1, 20, 2)

job.blocks.append(block)

print('')
job.output()
print('')

job.send()

添加好后运行还会报错,如图

最重要的来了,CGRU_LOCATION这个环境变量在CGRU文档中是写入CGRU的项目根目录路径,这里我们改成我们自己的项目的根路径。

如果有环境变量中有PYTHONPATH这个环境变量(一般是在配置CGRU时会配置),请一定要先删除

如图

确认后,重启我们自己的项目,让刚刚设置的环境变量生效。

4.解决导入问题

首先我们要修改源码cgruconfig.py文件下的第106行左右,修改为如图的样子。

我们再次运行,还会报错如图

研究了很久,才发现是导入问题,我们点击第二行蓝色内容,直接定位到cgru源码,如图

我们修改源码,改为下图即可

parser = importlib.import_module('python.services.%s' % self.data['service']).parser

最后运行提交

完美解决

5.提交远端的CGRU,通过ip+端口

刚刚我们复制了2个配置文件,我们需要修改config.json中的配置,config.json原来是cgru/afanasy/config_default.json

之后的任务提交都会提交到对应的远端