在Blender3.6中的python环境安装opencv,遇到DLL load failed或者No module named ‘cv2‘

问题描述

想用blender配合某些项目写一些python脚本,在linux下安装一切正常,脚本正常运行,但是有天拿笔记本在windows平台的blender安装同样的依赖环境出现了opencv的问题,安装显示是安装成功的,但是运行代码出现DLL load failed,找了一堆参考资料都不行,试了切换版本或者安装opencv-contrib-python,反复在DLL load failed和No module named 'cv2’之间报错。
在Google上发现很多人有同样的问题,网上的方法试了个遍,最后用opencv官方文档中下载Dependencies检查DLL依赖项发现所有依赖都不缺!最后打算用Google上搜到的和我一样问题的妥协办法,让blender使用系统的环境:

./blender.exe --python-use-system-env

但是!由于环境太过于复杂不想在系统中再配一遍了。并且,这个方法可以解决这个问题就说明是blender自身的dll文件依赖有自己的规则,不同于正常的Python环境。于是我开始对比每一项opencv依赖的dll文件和我conda环境有什么不同,终于被我发现了问题,python.exe和python3通用的动态链接库不在一起,bin目录下只有对应python版本的dll文件,猜想会不会是opencv的动态链接库的查找方式与blender python冲突了,因为其他python库都可以正常import,于是尝试复制了一份python3.dll到python.exe所在目录,然后就不报错了你敢信?!

问题解决方式

复制blender.exe目录下的python3.dll(一般根据版本不同都在100kb以内)到blender的python.exe目录下,一般路径为:

./blender/python3.dll
./blender/3.x/python/bin/python.exe

以上解决问题方法仅适用于blender的python环境安装opencv的导入错误,我的blender版本3.6,其他版本不知道会不会有一样的问题。请其他系统环境的遇到同样问题不要胡乱参考,非blender的python使用pip和conda安装环境一般不会有这样的问题!

(目前应该是全网第一个解决相同问题的,转载请注明出处!万分感谢~)

PS: Blender的python环境安装其他python库

顺带将blender怎么扩展python库的方法列一下,目前blender的python环境是一个相对隔离的状态,一般采用以下方式安装:

./blender/3.x/python/bin/python.exe -m pip install xxx

网速过慢也可以临时使用 -i https://pypi.tuna.tsinghua.edu.cn/simple切换清华源。
linux下同理,一般是同路径不过要去掉.exe后缀加上版本,例如同样python版本一般为:

./blender-3.x.x-linux-x64/3.x/python/bin/python310 -m pip install xxx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值