【疑难杂症百解_04】pip instal报错:ERROR: Exception: Traceback (most recent call last): File “/Library/.....“

本文记录了解决使用pip安装opencv-python时遇到的下载超时问题,通过切换至清华镜像源加速下载,最终成功安装并验证了opencv版本。

今天在用pip安装opencv-python时,pip install opencv-python后速度极其缓慢,几分钟后提示下载失败,并报错如下:

ERROR: Exception:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 437, in _error_catcher
    yield
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 454, in read
    n = self.readinto(b)
    .................................................
	 					
	 					中间略
	 					
	..................................................
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 442, in _error_catcher
    raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

在这里插入图片描述

报错原因:

一开始没用弄清楚问题的原因,就盲目搜素了各种办法去解决,比如在命令前边加sudo,但都没有解决,后来找到了根源才知道这个报错是什么意思,感觉自己像个憨憨一样。

⚠️原来这种报错是因为下载外网资源网速太慢了!!

解决办法:

只需切换到国内安装镜像即可,这里我用的是清华的镜像:

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

安装完打开pycharm验证一下,输入代码运行程序:

import cv2
print(cv2.__version__)

不报错并输出opencv版本:

在这里插入图片描述

安装成功✌️

### Python决 `cv2` 导入时因缺少 `numpy` 模块导致的 `ModuleNotFoundError` 当尝试导入 `cv2` 时遇到错误 `No module named 'numpy.core.multiarray'` 或者类似的模块缺失问题,通常表明 NumPy 的安装存在问题或者其依赖项损坏。以下是可能的原因及决方案: #### 可能原因分析 1. **NumPy 安装不完全或损坏** 即使已经通过 pip 成功安装了 NumPy,但如果安装过程中出现问题(如网络中断),可能导致部分文件丢失或损坏[^1]。 2. **Python 环境冲突** 如果系统中有多个 Python 版本共存,则可能会发生环境混淆的情况。例如,在某个环境中成功安装了 NumPy,但在另一个环境中运行脚本却找不到该模块[^2]。 3. **权限不足** 使用管理员权限以外的方式安装库时,某些目录可能无法写入,从而造成安装失败或不完整[^3]。 --- #### 决方法 ##### 方法一:彻底清理并重装 NumPy 和 OpenCV 如果之前多次尝试卸载和重新安装 NumPy 都未能决问题,可以按照以下步骤操作: 1. 彻底删除现有版本的 NumPy 和 OpenCV: ```bash pip uninstall numpy opencv-python-headless opencv-contrib-python ``` 2. 清理缓存以防止残留文件干扰新安装: ```bash pip cache purge ``` 3. 重新安装最新版 NumPy 和 OpenCV: ```bash pip install --upgrade numpy pip install opencv-python-headless ``` (注意:对于需要 GUI 支持的应用程序,请改用 `opencv-python` 而非无头版本) 4. 验证安装是否正常工作: 创建一个简单的测试脚本来验证两者能否正确加载: ```python import numpy as np import cv2 print(f"Numpy version: {np.__version__}") print(f"OpenCV version: {cv2.__version__}") ``` ##### 方法二:修复已有的 NumPy 安装 有时无需完全移除旧版本即可恢复功能。可利用以下命令来修复潜在的问题: ```bash pip install --force-reinstall numpy ``` 此选项会强制覆盖当前安装的内容而不改变其他设置。 ##### 方法三:切换至虚拟环境管理工具 Conda Conda 是一种更强大的包管理系统,尤其适合处理科学计算相关的复杂依赖关系。它能够有效避免由 Pip 引发的一些兼容性和路径方面的问题。 1. 下载 Miniconda 并创建一个新的独立环境; 2. 在其中激活后仅需简单几行指令便可同步获取所需资源: ```bash conda create -n myenv python=3.x conda activate myenv conda install numpy opencv ``` ##### 方法四:手动下载 wheel 文件进行本地化部署 针对特定平台架构下的预编译 binary 不可用情况,可以从官方 PyPI 页面找到对应系统的 .whl 格式压缩包自行上传到目标机器后再执行离线模式安装: 1. 前往 https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 获取适配版本链接地址; 2. 将下载好的 whl 文件拷贝至项目根目录下并通过如下方式完成指定位置上的析过程: ```bash pip install ./path_to_file/numpy‑xxx.whl ``` --- ### 总结 以上四种途径分别适用于不同场景下的疑难杂症排查流程。推荐优先考虑前两种常规手段;而对于特殊定制需求则建议采用第三种基于 Anaconda 的生态系统构建策略或是最后万不得已才采取第四条路线下手工干预措施[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值