心想好事成 2024-01-10 14:12 采纳率: 0%
浏览 19
已结题

linux远程服务器安装cv2

在linux远程服务器上import cv2就报错

img

img


就会报这样的错,无法运行。
进行代码复现,按照作者的requirments安装了之后,发现只要import cv2就会报错
然后我设置了一个Python3.9的虚拟环境然后只安装opencv-python 仍然出现了这样的错误。
我还尝试过直接下载opencv-python的linux安装包 然后上传到服务器中用Pip命令进行安装,然后依然有这样的错误
然后我在这个服务器上找到了一个之前安装过的Python3.6版本的虚拟环境,里面包含opencv库,使用这个虚拟环境,Import cv2不会报错
不知道这个究竟要怎么设置

  • 写回答

17条回答 默认 最新

  • GISer Liu 2024-01-10 14:17
    关注
    获得0.45元问题酬金

    该回答引用自GPT-4,由博主GIS_Liu编写:

    根据您的问题描述,问题出现在尝试在Linux服务器上安装并导入cv2(OpenCV的Python接口)时遇到的错误。错误信息ImportError: libGL.so.1: cannot open shared object file: No such file or directory指出缺少libGL这个共享库。

    这个问题常见于尝试在没有图形界面支持的服务器上运行需要图形处理库的代码时。libGL是OpenGL图形库的一部分,用于渲染2D和3D向量图形。当系统中没有安装这个库时,任何尝试使用它的程序都会失败。

    解决这个问题的方法是安装缺少的库。在基于Debian的系统(如Ubuntu)上,可以使用以下命令安装:

    sudo apt-get update
    sudo apt-get install libgl1-mesa-glx
    

    如果还出现其他类似的错误,比如ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory,则需要安装相应缺少的库:

    sudo apt-get install libglib2.0-0
    

    如果您正在使用不同的Linux发行版,那么包管理器命令可能会有所不同,例如在基于RedHat的系统(如CentOS或Fedora)上,您可能需要使用yumdnf

    您提到在Python 3.6的环境中没有问题,这可能是因为在该环境中已经正确安装了所有依赖项。而新环境中可能缺失了某些依赖。

    请尝试上述命令来安装缺失的库,然后再次尝试导入cv2。如果问题解决,您就可以继续使用OpenCV了。

    如果您在解决过程中遇到任何问题,或者需要进一步的帮助,请随时告诉我。

    以下是参考来源:

    • 从博客园获得的解决方案【8†source】。
    • CSDN博客文章【9†source】。
    • Tistory博客文章提供的解决方案【10†source】。

      如果该回答解决了您的问题,请采纳!如果没有,请详述问题所在!

    评论

报告相同问题?

问题事件

  • 系统已结题 1月18日
  • 创建了问题 1月10日

悬赏问题

  • ¥30 微信小程序蓝牙数据透传
  • ¥15 加氢站氢负荷数据集来源
  • ¥15 umi接入sentry遇到问题
  • ¥15 HBuilderX打包H5网页,扫码模块无法使用
  • ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
  • ¥15 echarts绘制图表
  • ¥15 请教两个关于高德地图定位不准的技术问题
  • ¥15 根据企业名称 对照两个文件 样本筛选/匹配
  • ¥15 Linux环境下CA证书更新问题
  • ¥15 sqlserver语句提取结果以外数据