【问题标题】:Why aren't python packages from Anaconda being detected by Blender?为什么 Blender 没有检测到来自 Anaconda 的 python 包?
【发布时间】:2016-05-11 22:03:24
【问题描述】:

我最近一直在使用 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 脚本失败,现在查看控制台...

Traceback(最近一次调用最后一次):文件 “/用户/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、\文件 “/用户/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 行,在 从 。在 init 中导入 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 导入 * 文件 "/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: cannot import name 'doccer' Error: Python script failed,现在在控制台查看...

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

我很困惑,不知道如何进行。非常感谢任何帮助。

最好, 红先生

【问题讨论】:

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


【解决方案1】:

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

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

  1. 保留 Blender 附带的所有相同文件(不要像网站建议的那样删除 python 文件夹!)
  2. 转到位于以下位置的子文件夹“site-packages”:“Blender.app/Contents/Resources/2.76/python/lib/python3.4/site-packages”
  3. 在那里,复制 “anaconda/lib/python3.4/site-packages”并将它们粘贴到前面提到的文件夹中
  4. (我复制了“anaconda/lib/python3.4/site-packages”中的所有内容,“numpy”和“requests”文件夹除外,我也没有复制文件“numpy-1.9.1-py3. 4.egg-info”在文件夹上。)

希望这会有所帮助,如果有帮助,不客气:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2019-05-19
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    相关资源
    最近更新 更多