使用setuptools时导入cv2出现ImportError: libSM.so.6错误求助
这个问题我碰到过好几次,本质是OpenCV-Python依赖的系统级图形库缺失,libSM.so.6是X Window System的基础共享库,很多无GUI的服务器环境(比如你的Jenkins工作区)默认不会预装它。
给你几个针对性的解决方案:
1. Debian/Ubuntu 系列系统
直接通过apt安装缺失的依赖包:
sudo apt-get update && sudo apt-get install -y libsm6 libxext6 libxrender-dev
2. RHEL/CentOS 系列系统
用yum安装对应依赖:
sudo yum install -y libSM libXext libXrender
3. 如果是在Docker容器中运行
记得把安装命令加到你的Dockerfile里,比如:
RUN apt-get update && apt-get install -y --no-install-recommends libsm6 libxext6 libxrender-dev
(加--no-install-recommends可以避免安装不必要的依赖,减小镜像体积)
补充说明
你用setuptools的setup.py配置其实没问题,这个错误和Python包的打包逻辑无关,纯粹是系统层面缺少OpenCV运行需要的底层库。安装完上面的依赖后,再重新导入cv2应该就能正常工作了。
内容的提问来源于stack exchange,提问作者mitevva_t
相关产品推荐
相关产品推荐

