You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS服务器使用pyzbar报错Unable to find zbar shared library如何解决

错误原因

该报错核心是pyzbar为zbar条码识别工具的Python封装层,本身不携带底层的libzbar共享库。Windows版本的pyzbar安装包内置了预编译的对应动态库,因此运行无异常,但CentOS等Linux系统需要单独安装底层依赖。

修复方案

方案1:服务器可连接外网(优先推荐)

无需手动上传文件,直接通过包管理器安装依赖即可:

  • 先安装EPEL扩展源(zbar不在CentOS默认官方源中):
yum install -y epel-release
  • 安装zbar共享库:
yum install -y zbar zbar-devel
  • 安装完成后重启Python应用即可,系统会自动识别默认路径下的共享库,无需额外配置。

方案2:服务器无外网权限,需手动上传文件

需要提前准备一台和目标服务器CPU架构一致、CentOS大版本完全相同的可联网机器操作:

  1. 在可联网机器上执行方案1的安装步骤,安装完成后查找zbar共享库的位置:
find /usr -name "libzbar.so*"

通常输出路径为/usr/lib64/libzbar.so.0、/usr/lib64/libzbar.so.0.2.0这类文件。
2. 将找到的所有libzbar开头的so文件上传到目标服务器,建议存放到项目专属的私有库目录,例如/home/flickbil/app/custom_lib/
3. 配置系统共享库搜索路径,二选一即可:

  • 临时生效(每次启动应用前执行):启动应用前先执行命令
export LD_LIBRARY_PATH=/home/flickbil/app/custom_lib:$LD_LIBRARY_PATH
  • 永久生效:将路径写入系统库配置
echo "/home/flickbil/app/custom_lib" >> /etc/ld.so.conf.d/custom_libs.conf
ldconfig

配置完成后重新启动应用即可生效。

验证方法

激活对应Python虚拟环境后执行以下命令,无报错即为修复成功:

python -c "from pyzbar.pyzbar import decode"

内容的提问来源于stack exchange,提问作者derikS4M1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:24:04