[python踩坑]ImportError: DLL load failed

环境:python3.7.0 |anaconda|Windows10

问题:安装模块后imort失败,抛出ImportError: DLL load failed找不到指定模块

写某个脚本时需要使用opencv库,pip install  cv2或者cv或者opencv均未提示无可安装版本,查询得到安装方法pip install opencv-python

安装完成后惯例import确认一下,发现trackback error报错,ImportError: DLL load failed: 找不到指定的模块,根据错误提示是import numpy组件的过程中出错了,应该是版本不对应导致的,遂重装更新下numpy,pip uninstall numpy然后再pip install numpy,再次尝试,import cv2无报错

今天安装docx库时再次遇到了相同情况,pip install python-docx后import报错ImportError: DLL load failed,import lxml组件过程出错,一样地,uninstall后重新install解决问题。

回忆起之前安装pyqt5时,也出现过找不到模块的报错,不过原因是因为anaconda安装的64位python缺少文件,下载官网对应版本的zip包,提取文件放进去就可以了。

而这种包版本差异导致的报错似乎更为常见也容易解决。一些包安装的比较早,导致新安装的包如果引用了旧的依赖包就可能出错,又或者是旧的包确实损坏了,这时候就需要根据报错信息确认需要重新装的包,而安装一些像tensorflow或是caffe机器学习方面的包出错时首先要查询判断下依赖包的版本,安装指定版本的包。

怎么感觉是requirement的锅呢。。。。

最好的解决办法或许应该还是做环境隔离,用pyenv或者conda,对每个项目单独安装全新的包,可以大大避免在不同时间不同项目中使用的python版本、包版本直接的各种干扰。

发表评论

电子邮件地址不会被公开。 必填项已用*标注