外部python调用houdini python

前言:

作为自动化项目的一部分,需要外部python调用houdini python的hou模块。在测试这部分时,总是遇到 _hou 模块缺失的问题。下面附上解决方案。

(win10,houdini19.0.427,VS Code,Python3.7.8(houdini自带的是3.7.4,暂不确定别的版本是否可行))

1.添加环境:

path:C:\Program Files\Side Effects Software\Houdini 19.0.427\bin

path:C:\Program Files\Side Effects Software\Houdini 19.0.427\python37

PYTHONPATH(这个我是直接在代码里写了添加到环境,所以就没直接添加了):C:\Program Files\Side Effects Software\Houdini 19.0.427\houdini\python3.7libs

2.测试:

新建test.py,新建test.hip包含一个box1_SOP并保存到同一目录下。

#!/usr/bin/python
def enableHouModule():
    import sys, os

    if hasattr(sys, "setdlopenflags"):
        old_dlopen_flags = sys.getdlopenflags()
        import DLFCN
        sys.setdlopenflags(old_dlopen_flags | DLFCN.RTLD_GLOBAL)

    try:
        import hou
    except ImportError:
        sys.path.append("C:\Program Files\Side Effects Software\Houdini 19.0.427\houdini\python3.7libs")
        import hou
    finally:
        if hasattr(sys, "setdlopenflags"):
            sys.setdlopenflags(old_dlopen_flags)

enableHouModule()
import hou

if __name__ == "__main__":
    try:
        hou.hipFile.load("test.hip")
        network = hou.node("/obj")
        for eachOBJ in network.children():
            print(eachOBJ)
    except hou.LoadWarning as e:
        print(e)

如同,3.7.8的解释器成功打印出了“box1”

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值