Ubuntu16.04 anaconda3 opencv已经安装,但是无法import的问题
解决anaconda中已经安装了opencv3,但无法import的问题
你可能遇见的问题:
- ImportError: No module named cv2
- ImportError: libz-a147dcb0.so.1.2.3: cannot open shared object file: No such file or directory
第一个问题:
你可能没有成功安装opencv环境,或者你需要重新安装opencv的环境进行尝试
你可以查看这一篇博客进行配置opencv卸载与安装
第二个问题:
你可能查看了某些博客,要求你将cv2.so移动到你的使用的python中( sudo cp /usr/local/lib/python2.7/dist-packages/cv2/cv2.so /home/username/anaconda3/lib/python3.6/dist-packages/),然后你再次import cv2就会发现会出现以上的报错
你可以通过which python命令查看你的python的来源。例如你通过which python得到的结果是/home/learner/anaconda3/bin/python
那么说明你需要的opencv文件应该放在anaconda3/lib/python3.6(你的对应的版本)/dist-packages/中
解决方法:
如果你确实已经按照以上的博客进行安装好opencv了,那么你可以继续进行,否则,请先按照以上博客进行opencv的安装。
根据提示,缺少的是libz-a147dcb0.so.1.2.3这个文件,那么我们进行查找通过sudo find / -name libz-a147dcb0.so.1.2.3
得到结果如下:
find: ‘/run/user/1000/gvfs’: Permission denied
/var/lib/docker/overlay2/f72d8ff7ad2486a45a06a7bccdebe2628377a839c7f943d7e2b06f44a825be87/diff/usr/local/lib/python3.6/dist-packages/PIL/.libs/libz-a147dcb0.so.1.2.3
/var/lib/docker/overlay2/f72d8ff7ad2486a45a06a7bccdebe2628377a839c7f943d7e2b06f44a825be87/diff/usr/local/lib/python3.6/dist-packages/h5py/.libs/libz-a147dcb0.so.1.2.3
/var/lib/docker/overlay2/f72d8ff7ad2486a45a06a7bccdebe2628377a839c7f943d7e2b06f44a825be87/diff/usr/local/lib/python3.6/dist-packages/matplotlib/.libs/libz-a147dcb0.so.1.2.3
/home/learner/.conda/envs/tensorflow/lib/python3.6/site-packages/PIL/.libs/libz-a147dcb0.so.1.2.3
/home/learner/.conda/envs/tensorflow/lib/python3.6/site-packages/h5py/.libs/libz-a147dcb0.so.1.2.3
/home/learner/.conda/envs/tensorflow/lib/python3.6/site-packages/matplotlib/.libs/libz-a147dcb0.so.1.2.3
/home/learner/.conda/envs/tensorflow/lib/python3.6/site-packages/cv2/.libs/libz-a147dcb0.so.1.2.3
/home/learner/.conda/envs/tf/lib/python3.6/site-packages/PIL/.libs/libz-a147dcb0.so.1.2.3
/home/learner/.conda/envs/tf/lib/python3.6/site-packages/h5py/.libs/libz-a147dcb0.so.1.2.3
/home/learner/.conda/envs/tf/lib/python3.6/site-packages/matplotlib/.libs/libz-a147dcb0.so.1.2.3
/home/learner/.conda/envs/tf/lib/python3.6/site-packages/cv2/.libs/libz-a147dcb0.so.1.2.3
/usr/local/lib/python3.5/dist-packages/cv2/.libs/libz-a147dcb0.so.1.2.3
/usr/local/lib/python3.5/dist-packages/matplotlib/.libs/libz-a147dcb0.so.1.2.3
/usr/local/lib/python2.7/dist-packages/h5py/.libs/libz-a147dcb0.so.1.2.3
/usr/local/lib/python2.7/dist-packages/cv2/.libs/libz-a147dcb0.so.1.2.3
/usr/local/lib/python2.7/dist-packages/matplotlib/.libs/libz-a147dcb0.so.1.2.3
我们可以观察到有很多cv2的文件夹,而我们python所使用的anaconda3/lib/python3.6/site-packages中没有这个文件,那么将cv2.so文件复制过去
cp /usr/local/lib/python2.7/dist-packages/cv2.so /anaconda3/lib/python3.6/site-packages
在此处还不够,需要加上以下声明,可以添加到.bashrc中
export PYTHONPATH=/home/learner/anaconda3/lib/python3.6/site-packages/:$PYTHONPATH
验证结果
Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>
这个方法是我误打误撞得到的,如果有更好的方法,希望大家可以给我留言,我会继续改进的
Ubuntu16.04 anaconda3 opencv已经安装,但是无法import的问题的更多相关文章
- Ubuntu16.04 LTS下apt安装WireShark
Ubuntu16.04 LTS下apt安装WireShark 安装与配置 首先通过apt安装WireShark: $ sudo apt install wireshark 会同时安装许多的依赖包,其中 ...
- 路由器安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错误。向目标系统中安装busybox-initramfs软件包时出现一个错误。请检查/var/log/syslog或查看第四虚拟控制台以获得详细
公司的路由器要ubuntu服务器进行路由网络功能的管理,在安装的时候出现下面的错误提示: 安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错 ...
- ubuntu16.04下sublime text3安装和配置
ubuntu16.04下sublime text3安装和配置 2018年04月20日 10:31:08 zhengqijun_ 阅读数:1482 1.安装方法 1)使用ppa安装 sudo add-a ...
- 阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装
阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装 最近琢磨着想在服务器上搭建一个hexo博客,于是就在阿里云上买了一个云服务器ECS,远程接入后默认给的是一个命令窗口,没有图形界面, ...
- Ubuntu16.04上用源代码安装ICE
ubuntu16.04上用源代码安装ICE
- Ubuntu16.04下,erlang安装和rabbitmq安装步骤
文章来源: Ubuntu16.04下,erlang安装和rabbitmq安装步骤 准备工作,先下载erlang和rabbitmq的安装包,注意他们的版本,版本不对可能会导致rabbitmq无法启动,这 ...
- 服务器重装和配置:Ubuntu16.04 + Anaconda3 + GTX1080驱动 + CUDA8 + cuDNN + 常用工具安装
前一篇[基于Ubuntu16.04的GeForce GTX 1080驱动安装,遇到的问题及对应的解决方法]是在机器原有系统上安装GPU驱动,后来决定备份数据后重装系统,让服务器环境更干净清爽. 1.安 ...
- Ubuntu16.04+Opencv3.3的安装教程
需要准备的基本材料(请先看完整个安装过程再进行下面的操作): 一.到Opecv-Release的Github项目上下载最新的Opencv版本,注意---基于python2.7,可选用 OpenCV2. ...
- Anaconda ubuntu16.04 Cuda 8.0安装pytorch
Pytorch 安装 Pytorch安装真的太让人省心了,在anaconda的环境下进行安装,只需要一个命令 具体命令请查看官网pytorch 找到适合你的版本进行安装 本机环境: anaconda3 ...
随机推荐
- linux下安装JDK,及配置环境变量
首先去官网https://www.oracle.com/technetwork/java/javase/downloads/index.html下载最新的JDK版本: 以下操作在root用户下操作 第 ...
- python基础-第四篇-4.2文件操作
基本打开模式 文件操作的流程:打开文件,操作文件,关闭文件 打开文件方法:open(文件名,模式,编码) file = open(‘文件名’) 模式在不给值的情况下,默认为只读,而且如果是非当前的目录 ...
- 如何使用 libtorch 实现 AlexNet 网络?
如何使用 libtorch 实现 AlexNet 网络? 按照图片上流程写即可.输入的图片大小必须 227x227 3 通道彩色图片 // Define a new Module. struct Ne ...
- Linux 2.6 内核阅读笔记 中断和异常
2014年7月24日 中断门.陷阱门及中断门 中断是能够禁止的,能够通过告诉PIC停止对某个中断的公布.被禁止的中断是不会丢失的,在解除禁止后又会发送到CPU上. 禁止中断和屏蔽(mask)中断的不同 ...
- 图文讲解zabbix安装全过程(5)
在了解<zabbix硬件.软件需求>之后,在你心里应该有备选的机器.今天开始安装zabbix.zabbix需要LNMP或者LAMP环境.环境的搭建不在本章范围内. LNMP环境配置Linu ...
- Zabbix3的离线安装
背景与环境 由于实际情况需求,zabbix在局域网中进行部署,遇到许多问题,在此记录. 操作系统:CentOS 6.9(使用的最小安装) zabbix版本:zabbix-3.0.13(LTS) php ...
- 格式化字符串函数sprintf
sprintf.snprintf相关函数的主要功能是把格式化的数据写入某个字符串.如最常见的应用是将整数或浮点数转换为字符串. 1.sprintf 将格式化的数据写入字符串,并自动在末尾加上一个空字符 ...
- Python(socket编程——1、理论)
Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意思.通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机 ...
- debian 如何切换为root用户
debian 如何切换为root用户 debian 如何切换为root用户 sudo su 输入命令后提示输入密码,输入密码切换为root用户
- ruby中的self
self,自己,在ruby中表示当前对象或默认对象.程序执行的任一时刻,有且仅有一个self. 1.谁成为self,在什么位置成为self? 要知道哪个对象是self,就必须知道当前的上下文.上下文主 ...