【已解决】Pycharm由于Zib版本问题无法import cv2-/lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9‘ not found

本文记录了博主在遇到由于Zlib版本问题所导致无法在Pycharm中应用import cv命令的解决过程,亲测安全有效。

首先介绍一下博主遇到的问题,如果有相同情况可以借鉴本文的解决方法,如果情况不同,有可能这么做没有效果,但是可以保证安全(不会毁掉系统)。

基本情况

  1. 在终端python环境下运行import cv2命令正常(opencv-python安装正确,如果这一步有问题的,可以检查一下是否正确安装了opencv-python包)
  2. 在Pycharm中,Anaconda环境下(所有环境),运行import cv2命令出错。注意,这里是对于debug和run而言,如果在Pycharm中的Terminate环境下运行,仍然是可以import成功的。

具体解决方法

  1. 首先在终端下面运行conda list,检查电脑中所安装的Zlib版本。博主的是1.2.11,但是根据报错,cv2要求的是1.2.9,因此出现了版本不一致的情况;
  2. 重新安装Zlib,具体步骤为:
1 wget http://www.zlib.net/fossils/zlib-1.2.9.tar.gz
2 tar -xvf zlib-1.2.9.tar.gz
3 cd zlib-1.2.9
4 mkdir build
5 cd build
6 cmake ..
7 make
8 make install

这里在哪个目录里面安装可以根据个人情况来,我是安装在平时安装软件的文件夹下面了,应该是没有影响。

  1. 之后,按照如下步骤替换系统原来的文件。在运行命令之前,一定要先备份原来的libz.so.1文件,以免在操作过程中出现失误,产生其他影响。具体备份可以用sudo mv命令重命名原来的文件或者是移动到其他文件夹下面。下面命令中的-f是强制创建软连接的意思,也就是会覆盖原来的文件,不会有提示。
cd /lib/x86_64-linux-gnu 
ln -s -f /usr/local/lib/libz.so.1.2.9/lib libz.so.1 

之后,重启Pycharm问题就可以解决了。

附言:博主遇到了修改之后断网的问题,但是不知道是因为用了lantern还是这个操作造成的,但是在重启电脑之后就正常了。断网期间也尝试用回原来的libz.so.1文件,但是没有恢复网络,所以应该不是这个原因。如果大家出现什么问题,只需要将备份的libz.so.1文件还原即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值