blender中python脚本使用

说明

近期,我需要使用一个算法的代码,在github上代码是以blender插件的形式存在的,这就导致我需要上手blender。blender中脚本都是python格式的,我们知道python在使用中难免会遇到调用第三方模块之类的,blender在这方面有点小坑,记录一下

blender下载安装

这一块我就不说了,我使用的是版本2.78c,python对应版本是3.5.2

python & pip

\blender下载下来后,在目录
Blender Foundation\Blender\2.78\python\bin
下可以找到python程序,在这个目录打开命令行,使用

.\python.exe

来运行这个python(不是系统的python)
这个python是用不了pip的,如果你运行.\python.exe -m pip install XXX会提示没有pip模块
需要这么搞

.\python.exe -m ensurepip

这样pip就可以用了

numpy & scipy

这个地方用pip时他会默认给你安装最新的,但是python可能不是最新的,所以就会有问题,我们可以去这个网站
https://pypi.org/
搜索自己用的模块,然后安装对应python版本的模块版本
下面用numpy跟scipy举例子

虽然我们进入.\python.exe后import numpy是有的,但是我在blender里面用不了,所以还是要自己装(你用pip uninstall numpy其实会提示你numpy没有)

.\python.exe -m pip install numpy==1.18.5
.\python.exe -m pip install scipy==1.4.0

这之后我在blender里面遇到错误说找到了一个older version numpy,我运行

.\python.exe -m pip uninstall numpy
.\python.exe -m pip install numpy==1.18.5(又运行了一遍)

才解决了这个问题

pytools & pyopencl

直接安装pyopencl也是会出问题,需要手动安装pytools

.\python.exe -m pip install pytools==2020.3
.\python.exe -m pip install pybind11
.\python.exe -m pip install Mako==1.1.2
.\python.exe -m pip install pyopencl==2020.3

这之后还是会报error: Unable to find vcvarsall.bat的错误

pyopencl的debug之路

对于Unable to find vcvarsall.bat的错误,我们需要到
Blender Foundation\Blender\2.78\python\lib\distutils_msvccompiler.py
里将一个函数进行修改:

def _find_vcvarsall(plat_spec):
    vcvarsall = r'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat'
    vcruntime = r'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.CRT\vcruntime140.dll'
    return vcvarsall, vcruntime

这是我vs2019的地址,这个文件太老了,没有对vs2019做改变,导致找不到文件

之后又出现了找不到cl.h文件等的错误,我的做法是在
D:\Blender Foundation\Blender\2.78\python
下新建一个目录include一个目录libs,之后如果哪个缺就把其放进去
我的电脑上已经安装了cuda相关东西,以及anaconda
与cl相关的我就把其从cuda目录中抠出来放上述文件夹
与python相关的我就从anaconda中找到python3.5的文件放上述文件夹
这里推荐everything,直接可以搜索本机文件
所有的错误解决之后便能成功安装

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值