最近,我一直在使用Blender渲染对象的3D模型,并训练SVM识别从某个角度拍摄的对象的图片。为了训练所说的SVM,我需要使用Anaconda默认提供的“ sklearn”。
长话短说,我希望Blender(运行Python 3.4.2)使用我的anaconda安装(运行Python 3.4.3)中提供的软件包和模块。
我在这个网站上尝试了多种方法:
https://www.blender.org/api/blender_python_api_2_60_1/info_tips_and_tricks.html#bundled-python-extensions
1.)我删除了Blender.app中的“ python”文件夹。根据上述网站,Blender应该回退到使用系统中安装的python版本(即通过anaconda安装的版本吗?对吗?),但是我得到了:
2.)所以我转到选项2。所以,我要做的是转到anaconda文件夹并复制两个文件夹“ bin”和“ lib”
进入Blender.app/Contents/Resources/2.76/python/(替换已经存在的lib和bin文件夹)
到目前为止,一切都很好,我打开了Blender(没有错误),然后编写了一个简单的脚本:
from sklearn import svm
当我尝试运行它时,出现以下错误消息:
错误:Python脚本失败,现在在控制台中查看...
追溯(最近一次通话):文件
“ /用户/ cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / Scripts / MarkTwo.blend / SimulationMarkOne.py”,
文件中的第5行
“ /用户/ cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / blender.app / Contents / Resources / 2.76 / python / lib / python3.4 / site-packages / sklearn / svm / init.py”,
第13行
从.classes导入SVC,NuSVC,SVR,NuSVR,OneClassSVM,LinearSVC,\ File
“ /用户/ cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / blender.app / Contents / Resources / 2.76 / python / lib / python3.4 / site-packages / sklearn / svm / classes.py”,
第4行,在
从.base导入_fit_liblinear,BaseSVC,BaseLibSVM文件“ / Users / cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / blender.app / Contents / Resources / 2.76 / python / lib / python3.4 / site-packages / sklearn / svm / base.py”,
第9行
来自。在初始化中导入libsvm_sparse文件“ sklearn / svm / libsvm_sparse.pyx”,第5行
sklearn.svm.libsvm_sparse(sklearn / svm / libsvm_sparse.c:7612)文件
“ /用户/ cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / blender.app / Contents / Resources / 2.76 / python / lib / python3.4 / site-packages / sklearn / utils / init.py”,
第16行
从.class_weight导入compute_class_weight,compute_sample_weight文件
“ /用户/ cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / blender.app / Contents / Resources / 2.76 / python / lib / python3.4 / site-packages / sklearn / utils / class_weight.py”,
第7行
从..utils.fixes导入in1d文件“ / Users / cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / blender.app / Contents / Resources / 2.76 / python / lib / python3.4 / site-packages / sklearn / utils / fixes.py”,
318行,在
从scipy.sparse.linalg导入lsqr作为sparse_lsqr文件“ / Users / cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / blender.app / Contents / Resources / 2.76 / python / lib / python3.4 / site-packages / scipy / sparse / linalg / init.py”,
第113行,在
从.matfuncs import *文件“ / Users / cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / blender.app / Contents / Resources / 2.76 / python / lib / python3.4 / site-packages / scipy / sparse / linalg / matfuncs.py”,
第20行,在
导入scipy.misc文件“ / Users / cusgadmin / ...
Perception / blender-2.76b-OSX_10.6-x86_64 / blender.app / Contents / Resources / 2.76 / python / lib / python3.4 / site-packages / scipy / misc / init.py”,
第44行
来自。 import doccer ImportError:无法导入名称'doccer'错误:Python脚本失败,现在在控制台中查看...
在那时我不知道该怎么办。我使用Blender中嵌入的Python控制台来探索sklearn中的子包,令人惊讶的是,我得到了不匹配的子包。
我很困惑,不知道如何进行。任何帮助都将不胜感激。
最好,
雷德先生
最佳答案
好的,我找到了一个解决方案,希望这对继我之后的子孙后代有帮助;
无论如何,我通过执行以下操作设法导入了库:
保留Blender随附的所有相同文件(请勿按照网站的建议删除python文件夹!)
转到位于“ Blender.app/Contents/Resources/2.76/python/lib/python3.4/site-packages”的子文件夹“ site-packages”
在那里,复制内容
“ anaconda / lib / python3.4 / site-packages”并将其粘贴到前面提到的文件夹中
(我复制了“ anaconda / lib / python3.4 / site-packages”中的所有内容,除了“ numpy”和“ requests”文件夹,而且我也没有复制文件“ numpy-1.9.1-py3.4.egg -info”)。
希望这会有所帮助,如果可以,欢迎您:)
关于python - Blender为什么未检测到Anaconda的python软件包?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35164666/