赞
踩
近期,我需要使用一个算法的代码,在github上代码是以blender插件的形式存在的,这就导致我需要上手blender。blender中脚本都是python格式的,我们知道python在使用中难免会遇到调用第三方模块之类的,blender在这方面有点小坑,记录一下
这一块我就不说了,我使用的是版本2.78c,python对应版本是3.5.2
\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就可以用了
这个地方用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(又运行了一遍)
才解决了这个问题
直接安装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的错误
对于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,直接可以搜索本机文件
所有的错误解决之后便能成功安装
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。