anaconda虚拟环境下安装OpenCV出错

在Anaconda虚拟环境中使用pip安装OpenCV时遇到超时错误,通过切换至清华大学的国内镜像源解决问题。

在anaconda虚拟环境下安装OpenCV:       

pip install opencv-python

出现以下体字错误

Traceback (most recent call last):
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_vendor\urllib3\response.py", line 437, in _error_catcher
    yield
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_vendor\urllib3\response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 62, in read
    data = self.__fp.read(amt)
  File "D:\Anaconda3\envs\op\lib\http\client.py", line 461, in read
    n = self.readinto(b)
  File "D:\Anaconda3\envs\op\lib\http\client.py", line 505, in readinto
    n = self.fp.readinto(b)
  File "D:\Anaconda3\envs\op\lib\socket.py", line 589, in readinto
    return self._sock.recv_into(b)
  File "D:\Anaconda3\envs\op\lib\ssl.py", line 1071, in recv_into
    return self.read(nbytes, buffer)
  File "D:\Anaconda3\envs\op\lib\ssl.py", line 929, in read
    return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\cli\base_command.py", line 216, in _main
    status = self.run(options, args)
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\cli\req_command.py", line 182, in wrapper
    return func(self, options, args)
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\commands\install.py", line 325, in run
    reqs, check_supported_wheels=not options.target_dir
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 183, in resolve
    discovered_reqs.extend(self._resolve_one(requirement_set, req))
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 388, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 340, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(req)
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\operations\prepare.py", line 469, in prepare_linked_requirement
    hashes=self._get_linked_req_hashes(req)
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\operations\prepare.py", line 259, in unpack_url
    hashes=hashes,
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\operations\prepare.py", line 130, in get_http_url
    link, downloader, temp_dir.path, hashes
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\operations\prepare.py", line 282, in _download_http_url
    for chunk in download.chunks:
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\cli\progress_bars.py", line 168, in iter
    for x in it:
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_internal\network\utils.py", line 88, in response_chunks
    decode_content=False,
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_vendor\urllib3\response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "D:\Anaconda3\envs\op\lib\site-packages\pip\_vendor\urllib3\response.py", line 541, in read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
  File "D:\Anaconda3\envs\op\lib\contextlib.py", line 130, in __exit__
    self.gen.throw(type, value, traceback)
  File "D:\Anaconda3\envs\op\lib\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.

解决办法(添加一个国内源就可以了)

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

 

<think>嗯,用户这次明确询问Ubuntu系统下Anaconda创建虚拟环境的完整流程,结合引用的技术片段来看属于实操型需求。从引用[2]和[4]的细节判断,用户可能需要包含环境管理、依赖安装、Ros兼容性等全流程指导,尤其引用[1]提到opencv和TensorFlow安装,暗示可能是做机器学习开发。注意到用户引用了四段资料,其中引用[1]涉及Python2.7环境下的TensorFlow安装,但当前Anaconda默认已转向Python3,需要特别说明版本兼容问题。引用[3]强调环境隔离的重要性,这提示教程里要突出虚拟环境的价值。用户上次没有提问历史,但引用内容显示ta可能遇到环境冲突问题。准备采用分阶段教学:先确保Anaconda基础配置正确,再演示环境创建激活,重点放在依赖库安装的多种方式(conda/pip),最后补充虚拟环境核心理念。考虑到引用[1]的ROS相关操作,需要警告Python2.7环境的特殊处理方式。对于容易出错的环节,比如opencv编译安装,要标注可选方案。教程结构需包含:1)必要前提:检查Anaconda安装2)核心操作:环境创建激活的代码示例3)关键技巧:包安装的版本指定方法4)延伸知识:环境克隆与删除等维护操作特别要注意:-用$标记行内命令如$conda--version-引用标识需自然融入段落,如环境管理优势引用[3]-Python2.7相关内容需单独标注"遗留系统需要"-安装TensorFlow时提醒验证GPU支持</think> 下面是在Ubuntu系统中使用Anaconda创建虚拟环境安装依赖库的完整教程,结合技术要点整理: ### 一、基础环境准备 1. **确认Anaconda安装** ```bash $ conda --version # 查看版本 $ conda update conda # 更新至最新版 ``` 若无安装,需先[下载Anaconda](https://www.anaconda.com/products/distribution)并执行: ```bash $ bash Anaconda3-202x.xx-Linux-x86_64.sh ``` 2. **管理虚拟环境** ```bash # 创建新环境(指定Python版本) $ conda create --name myenv python=3.7 # myenv为环境名[^4] # 查看所有环境 $ conda env list # 激活环境 $ conda activate myenv # 退出环境 $ conda deactivate ``` --- ### 二、安装依赖库(以OpenCV和TensorFlow为例) #### 方式1:通过conda安装 ```bash $ conda activate myenv # 进入目标环境 $ conda install opencv=3.4.6 tensorflow # 安装指定版本[^1] ``` #### 方式2:通过pip安装(适用conda未收录的包) ```bash $ pip install opencv-python==3.4.6 tensorflow # 精确版本控制 ``` --- ### 三、虚拟环境高级操作 1. **克隆环境**(适用于复制配置) ```bash $ conda create --name myenv_clone --clone myenv # 克隆环境[^4] ``` 2. **导出依赖清单** ```bash $ conda env export > environment.yaml # 生成配置文件 $ conda env create -f environment.yaml # 根据文件重建环境[^2] ``` 3. **删除环境** ```bash $ conda remove --name myenv --all # 彻底删除环境[^4] ``` --- ### 四、解决常见问题 - **Jupyter内核配置**(在虚拟环境安装) ```bash $ conda activate myenv $ conda install ipykernel $ python -m ipykernel install --user --name myenv # 关联Jupyter[^1] ``` - **ROS兼容性**(需Python 2.7的特殊场景) ```bash $ conda create --name ros_env python=2.7 $ conda activate ros_env $ sudo apt-get install python-pip python-dev # 安装系统依赖[^1] ``` --- ### 五、虚拟环境的核心价值[^2][^3] 1. **依赖隔离**:避免库版本冲突(如项目A需OpenCV 3.x,项目B需4.x) 2. **环境可移植**:通过`environment.yaml`快速复现环境 3. **权限安全**:非系统目录安装避免污染全局环境 4. **多版本共存**:同时支持Python 2.x和3.x项目开发 > **注意**:安装特定版本库时建议始终指定版本号(如`tensorflow==2.4.0`),避免自动安装最新版导致的兼容问题。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值