美文网首页程序员
CentOS python import cv2 段错误问题

CentOS python import cv2 段错误问题

作者: 毛羊 | 来源:发表于2019-01-02 14:10 被阅读18次

引子

最近项目中用到了opencv库,需要在python中使用;
按照网上的教程,安装了opencv-python库,还有系统相关的opencv库
但是导入opencv库报段错误

问题现象

$ python -c 'import cv2'
段错误

解决方法

查看了各种文章,无外乎几种解决方法:

  1. 安装库
  2. 源码编译opencv库

各路方法都试了试,还是不行,编译opencv库的依赖比较多,所以轻易不想尝试。
经过分析,发现,如果是sudo python -c 'import cv2'就没有问题,但是线上服务又不能用root权限运行,所以还得解决。

既然sudo没有问题,说明库的安装是没有问题的,既然普通用户不能导入,说明还是python库的路径问题。

再仔细分析,python的site-package导入有一定的顺序,发现安装后的opencv库路径普通用户可能访问有问题:

$ sudo find / -name 'cv2.so'
/usr/lib64/python2.7/site-packages/cv2/cv2.so

修改方法比较简单,把cv2.so拷贝到用户的路径就可以了:

mkdir -p .local/lib/python2.7/site-packages
cp /usr/lib64/python2.7/site-packages/cv2/cv2.so .local/lib/python2.7/site-packages

再次执行导入cv2成功。

相关文章

网友评论

    本文标题:CentOS python import cv2 段错误问题

    本文链接:https://www.haomeiwen.com/subject/ledzlqtx.html