python - 编译的 opencv 4.5.1 仅适用于(windows)anaconda - 为什么?
问题描述
我一直在尝试在我的 Windows 10 机器上安装支持 cuda 的 opencv 4.5.1。遵循 https://jamesbowley.co.uk/accelerate-opencv-4-5-0-on-windows-build-with-cuda-and-python-bindings 和https://haroonshakeel.medium.com/build上的指南-opencv-4-5-1-with-gpu-cuda-support-on-windows-10-without-tears-cf0e55dc47f9
我让它在 Anaconda 环境下工作,但我想尝试从混合中消除 Anaconda,所以我在不使用 Anaconda 环境的情况下重新创建(制作和构建/安装),结果不起作用。它得到
ImportError: DLL load failed while importing cv2: The specified module could not be found.
我已经将生成的 cv2.cp38-win_amd64.pyd 输入Dependencies
并且dependency walker
没有任何东西跳出旧的依赖步行者只找到了 2 个没有路径的模块,HVSIFILETRUST.DLL IESHIMS.DLL
但这些模块也仍然存在于工作版本中。(除了 API-MS-WIN-* 和 EXT-MS-WIN 的所有内容)较新的依赖项似乎没有发现任何有用的东西。
两个世界都在使用 Pyhon 3.8
Non-Anaconda = Python 3.8.10 (tags/v3.8.10:3d8993a, May 3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32
Anaconda = Python 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
使用 James 故障排除技巧https://jamesbowley.co.uk/accelerate-opencv-4-5-0-on-windows-build-with-cuda-and-python-bindings/#troubleshooting
where opencv_world451.dll
where opencv_img_hash451.dll
where nppc64_11.dll
where cudnn64_8.dll
所有报告有效模块和完全相同的模块报告进出 Anaconda 环境
我的理论是在 Anaconda 的“环境”中有一些东西,可能是 Python 环境使它能够python -m pip list
工作(大约 215 件事)和help("modules")
显示的内容。在 anaconda env 中只有 700 多个,而在我正常的非 anaconda 世界中只有 315 个,因此需要整理超过 400 个模块/包。然后很多这些东西显然不能被删除 - 例如整个“大脑”模块集,不知道它们做了什么,但它们的名字让他们怀疑
Haroon 的帖子似乎只在 Anaconda 下工作,但没有理由这样做。这似乎只是个人喜好。
有任何想法吗 ?谢谢JC
好吧我放弃了。这大约是 20 个构建,包含 OpenCV 版本、Python 版本、有和没有静态库的构建、有和没有“世界”的所有不同组合。安装了 anaconda 但未使用,并且完全卸载了 anaconda。结果总是一样的
import cv2
ImportError: DLL load failed while importing cv2: The specified module could not be found.
那是在没有Anaconda的情况下重新构建 Open-CV 的任何尝试都失败了。当您在 Dependancies 中查看生成的文件(类似于“cp38-win_amd64.pyd”)时,除了 windows 树深处的一些晦涩的东西外,没有丢失的模块
所以它不想玩,也不会让我进入它的秘密,所以我将不得不在没有 CUDA 的情况下生活,那 2304 个 cuda 核心将被浪费!但我想得越多,我就越不希望 Anaconda 在本质上是我的办公室计算机上。JC
解决方案
推荐阅读
- github-cli - “gh 工作流程”的 github-cli 未知命令“运行”
- reporting-services - ASP .net core blazor 应用程序的 SSRS 中的 CORS 导致访问被拒绝
- python - 使用 Python 扩展时在 VS Code 中查看 Ipython Notebooks 的基于行的差异
- django - Django migration duplicate operation
- neural-network - 有人可以解释一下我们如何用重量减去梯度
- python - python中的'del'函数可以同时从两个列表中删除元素吗?
- javascript - 从横向切换到纵向视图时阅读更多阅读更少功能不起作用
- sensors - 将数据从 MAX30100 发送到 ESP8266 到 Thingspeak
- javascript - JavaScript Canvas 中的 HSB 颜色填充
- amazon-kinesis - Kinesis 无效的流标头