Docker容器安装pyodbc后遇libodbc.so.2缺失错误,求解决方案
解决Docker容器中pyodbc依赖libodbc.so.2缺失的问题
这个错误的核心原因是pyodbc依赖系统级的ODBC驱动库,仅通过pip安装pyodbc而未安装底层依赖,就会出现找不到libodbc.so.2的情况,卸载重装pyodbc无法解决,必须先补全系统依赖。
根据你使用的Docker基础镜像类型,执行对应操作:
Debian/Ubuntu 系列镜像(如python:3.10-slim、ubuntu:22.04)
- 执行以下命令安装系统依赖,再重装pyodbc:
apt-get update && apt-get install -y --no-install-recommends unixodbc unixodbc-dev pip install --force-reinstall pyodbc
CentOS/RHEL 系列镜像(如centos:7、rockylinux:8)
- CentOS 7 使用yum:
yum install -y unixODBC unixODBC-devel pip install --force-reinstall pyodbc - RHEL 8+/CentOS 8+ 使用dnf:
dnf install -y unixODBC unixODBC-devel pip install --force-reinstall pyodbc
Alpine 镜像(如python:3.10-alpine)
Alpine使用musl libc,需要额外安装编译依赖:
apk add --no-cache unixodbc unixodbc-dev build-base pip install --force-reinstall pyodbc
内容的提问来源于stack exchange,提问作者David D'Silva
相关产品推荐
相关产品推荐

