最近,我一直在使用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安装的版本吗?对吗?),但是我得到了:
python - Blender为什么未检测到Anaconda的python软件包?-LMLPHP
2.)所以我转到选项2。所以,我要做的是转到anaconda文件夹并复制两个文件夹“ bin”和“ lib”
python - Blender为什么未检测到Anaconda的python软件包?-LMLPHP
进入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中的子包,令人惊讶的是,我得到了不匹配的子包。
python - Blender为什么未检测到Anaconda的python软件包?-LMLPHP

我很困惑,不知道如何进行。任何帮助都将不胜感激。

最好,
雷德先生

最佳答案

好的,我找到了一个解决方案,希望这对继我之后的子孙后代有帮助;

无论如何,我通过执行以下操作设法导入了库:


保留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/

10-12 23:33