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
之后的任务提交都会提交到对应的远端