为什么Blender没有检测到Anaconda的python包?

时间:2016-02-02 22:04:43

标签: python python-3.x svm blender anaconda

我最近一直在使用Blender渲染对象的3D模型,并训练SVM识别从某个角度拍摄的对象图片。为了训练所说的SVM,我需要使用" sklearn",默认情况下是Anaconda。

长话短说,我希望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。)我删除了" python" Blender.app中的文件夹。根据上面的网站,Blender应该回退到使用系统中安装的python版本(即通过anaconda安装的那个?对吗?)但是我得到了这个: enter image description here 2.)所以我进入选项号2.所以,我做的是去anaconda文件夹并复制两个文件夹" bin"和" lib" enter image description here 进入Blender.app/Contents/Resources/2.76/python/(替换已存在的lib和bin文件夹)

到目前为止一切都很好,我打开Blender(没有错误)然后我写了一个简单的脚本:

from sklearn import svm 

当我尝试运行它时,我收到以下错误消息:

  

错误:Python脚本失败,现在在控制台中查看...

     

Traceback(最近一次调用最后一次):文件   " /用户/ cusgadmin / ...   感知/搅拌器-2.76b-OSX_10.6-x86_64的/脚本/ MarkTwo.blend / SimulationMarkOne.py&#34 ;,   第5行,在文件中   " /用户/ cusgadmin / ...   感知/搅拌机-2.76b-OSX_10.6-x86_64的/ blender.app /内容/资源/ 2.76 / Python的/ lib目录/ python3.4 /站点包/ sklearn / SVM / 的init 的.py&# 34 ;,   第13行,在       来自.classes导入SVC,NuSVC,SVR,NuSVR,OneClassSVM,LinearSVC,\ File   " /用户/ cusgadmin / ...   感知/搅拌机-2.76b-OSX_10.6-x86_64的/ blender.app /内容/资源/ 2.76 / Python的/ lib目录/ python3.4 /站点包/ sklearn / SVM / classes.py&#34 ;,   第4行,在       来自.base import _fit_liblinear,BaseSVC,BaseLibSVM文件" / Users / cusgadmin / ...   感知/搅拌机-2.76b-OSX_10.6-x86_64的/ blender.app /内容/资源/ 2.76 / Python的/ lib目录/ python3.4 /站点包/ sklearn / SVM / base.py&#34 ;,   9号线,在       来自。在init中导入libsvm_sparse文件" sklearn / svm / libsvm_sparse.pyx",第5行   sklearn.svm.libsvm_sparse(sklearn / svm / libsvm_sparse.c:7612)文件   " /用户/ cusgadmin / ...   感知/搅拌机-2.76b-OSX_10.6-x86_64的/ blender.app /内容/资源/ 2.76 / Python的/ lib目录/ python3.4 /站点包/ sklearn / utils的/ 的init 的.py&# 34 ;,   第16行,在       来自.class_weight导入compute_class_weight,compute_sample_weight文件   " /用户/ cusgadmin / ...   感知/搅拌机-2.76b-OSX_10.6-x86_64的/ blender.app /内容/资源/ 2.76 / Python的/ lib目录/ python3.4 /站点包/ sklearn / utils的/ class_weight.py&#34 ;,   7号线,在       from ..utils.fixes import in1d File" / Users / cusgadmin / ...   感知/搅拌机-2.76b-OSX_10.6-x86_64的/ blender.app /内容/资源/ 2.76 / Python的/ lib目录/ python3.4 /站点包/ sklearn / utils的/ fixes.py&#34 ;,   318号线,在       从scipy.sparse.linalg导入lsqr作为sparse_lsqr文件" / Users / cusgadmin / ...   感知/搅拌机-2.76b-OSX_10.6-x86_64的/ blender.app /内容/资源/ 2.76 / Python的/ lib目录/ python3.4 /站点包/ SciPy的/稀疏/ linalg / 的init 。 PY&#34 ;,   第113行       来自.matfuncs import * File" / Users / cusgadmin / ...   感知/搅拌机-2.76b-OSX_10.6-x86_64的/ blender.app /内容/资源/ 2.76 / Python的/ lib目录/ python3.4 /站点包/ SciPy的/稀疏/ linalg / matfuncs.py&#34 ;,   第20行,在       import scipy.misc文件" / Users / cusgadmin / ...   感知/搅拌机-2.76b-OSX_10.6-x86_64的/ blender.app /内容/资源/ 2.76 / Python的/ lib目录/ python3.4 /站点包/ SciPy的/其它/ 的init 的.py&# 34 ;,   第44行,在       来自。导入doccer ImportError:无法导入名称' doccer'错误:Python脚本失败,现在在控制台中查看...

此时我不知道还能做什么。我使用嵌入在Blender中的Python控制台来探索sklearn中的子包,令人惊讶的是我得到了不匹配的子包。 enter image description here

我很困惑,不知道该怎么办。任何帮助都非常感谢大家。

最佳, MrRed

1 个答案:

答案 0 :(得分:2)

好的伙计们,我找到了一个解决方案,我希望这能帮助我后代等等;)

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

  1. 保留Blender附带的所有相同文件(不要删除网站建议的python文件夹!)
  2. 转到子文件夹" site-packages"位于:" Blender.app/Contents/Resources/2.76/python/lib/python3.4/site-packages"
  3. 那里,复制内容 "水蟒/ LIB / python3.4 /站点包"并将它们粘贴到前面提到的文件夹中
  4. (我在" anaconda / lib / python3.4 / site-packages&#34中复制了所有内容;除了" numpy"和"请求"文件夹,我也没有复制文件" numpy-1.9.1-py3.4.egg-info"在文件夹上。)
  5. 希望这会有所帮助,如果确实如此,欢迎您:)