我在Windows 7(64位)上使用Blender 2.78(64位)和Python 3.5.2。我的情况是我想在Blender中将opencv与python结合使用。我一直在努力工作,并且工作了几天而没有任何明显的成功。
然而,通过谷歌搜索我发现有一种方法可以安装pip作为blenders python的模块,并且使用pip我能够安装诸如numpy oder scipy之类的模块。这确实也适用于opencv,因为它已成功安装(包括正面检查)。看起来很好。但是当我尝试在Blender的Console中导入cv2时,我得到了错误,就像上面的线程启动器一样:
Traceback (most recent call last):
File "<blender_console>", line 1, in <module>
File "C:\Program Files\Blender Foundation\Blender\2.78\python\lib\site-packages\cv2\__init__.py", line 7, in <module>
from . import cv2
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
然后我尝试在外部shell中启动blender python并重试导入过程导致同样的错误。
接下来是重试我的系统python的完整程序(相同版本3.5.2),一切都运行良好。
从现在开始,我有点困惑,因为&#34; pypi.python.org/pypi/opencv-python"对opencv-python说,一切都是静态链接的,你所要做的就是我所做的一切。查看常见问题解答中提到的错误。您可以获得检查visual c ++ redistributable和c运行时库的建议。我这样做了,但是,两者都是最新的,并且在系统python opencv上完美地工作。
接下来试试。由于系统python与opencv完美配合,我删除了blender python并粘贴了系统python的副本。根据&#34; blender.stackexchange.com/questions/5287/using-3rd-party-python-modules" 这是使用blenders自己的python的另一种选择。
Numpy,Scipy导入工作完美。导入cv2会导致与以前相同的错误。
如果我现在启动system-python副本,现在可以导入来自命令shell cv2的blenders python。
环境搅拌器创建的环境和shell中的区别在哪里?
我已经安装了一个名为listDlls的工具来列出特定进程加载的所有dll,以便比较blender-python和python。你可以看到一些差异,但除了在混合器python中缺少cv2 pyd之外,我不了解那些差异。
有什么想法吗?
第一个列表是python-process列表,第二个是blender列表: https://ufile.io/uidy1 https://ufile.io/1eshi