我试图运行cv2,但当我试图导入它时,我得到以下错误:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
建议的在线解决方案是安装
apt install libgl1-mesa-glx
但这是已经安装的最新版本。
注:我实际上是在Docker上运行这个,我无法检查OpenCV版本。我尝试导入matplotlib,导入正常。
我试图运行cv2,但当我试图导入它时,我得到以下错误:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
建议的在线解决方案是安装
apt install libgl1-mesa-glx
但这是已经安装的最新版本。
注:我实际上是在Docker上运行这个,我无法检查OpenCV版本。我尝试导入matplotlib,导入正常。
当前回答
把这个放到Dockerfile中
RUN apt-get update
RUN apt install -y libgl1-mesa-glx
排队前
COPY requirements.txt requirements.txt
例如
......
RUN apt-get update
RUN apt install -y libgl1-mesa-glx
COPY requirements.txt requirements.txt
......
其他回答
如果你使用CentOS、RHEL、Fedora或其他使用yum的linux发行版,你将需要:
sudo yum install mesa-libGL -y
在Dockerfile中添加以下代码行:
RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 -y
这些命令安装了cv2依赖项,这些依赖项通常存在于本地机器上,但可能在Docker容器中缺失而导致问题。
[2022年1月20日的小更新:Docker建议,永远不要单独放置RUN apt-get更新,导致缓存问题]
如果使用docker或服务器环境,请使用opencv-python-headless。
把这个放到Dockerfile中
RUN apt-get update
RUN apt install -y libgl1-mesa-glx
排队前
COPY requirements.txt requirements.txt
例如
......
RUN apt-get update
RUN apt install -y libgl1-mesa-glx
COPY requirements.txt requirements.txt
......
我在docker容器中使用cv2时遇到了这个问题。我通过:
pip install opencv-contrib-python
安装opencv-contrib-python而不是opencv-python。