运行pip install zbar时生成1个错误:#include <zbar.h>

6 投票
5 回答
10921 浏览
提问于 2025-04-18 17:05

我正在尝试运行 pip install zbar,但不知为什么我找不到解决这个依赖问题的方法。任何帮助都将非常感激。下面是错误信息:

Downloading/unpacking zbar
  Downloading zbar-0.10.tar.bz2
  Running setup.py 
 egg_info for package zbar

Installing collected packages: zbar
  Running setup.py install for zbar
    building 'zbar' extension
    clang -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -I/usr/local/opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python/2.7.7_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c zbarmodule.c -o build/temp.macosx-10.9-x86_64-2.7/zbarmodule.o
    In file included from zbarmodule.c:24:
    ./zbarmodule.h:26:10: fatal error: 'zbar.h' file not found
    #include <zbar.h>
             ^
    1 error generated.
    error: command 'clang' failed with exit status 1

   running install

running build

running build_ext

building 'zbar' extension

creating build

creating build/temp.macosx-10.9-x86_64-2.7

clang -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -I/usr/local/opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python/2.7.7_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c zbarmodule.c -o build/temp.macosx-10.9-x86_64-2.7/zbarmodule.o

In file included from zbarmodule.c:24:

./zbarmodule.h:26:10: fatal error: 'zbar.h' file not found

include <zbar.h>

^

1 error generated.

error: command 'clang' failed with exit status 1

5 个回答

0

我最近在Mac OS上尝试在虚拟环境中本地启动一个服务时遇到了这个问题,这个服务在Python应用中需要用到zbar。而这个服务仍然在使用Python 2.7。

因为这个服务是在虚拟环境中运行的,所以我不想做任何需要全局系统更改的事情。

我解决这个问题的方法是通过Homebrew(全局安装)来安装zbar。然后把在C语言编译“配方”中使用的标志或隐式规则导出到虚拟环境中。最后,我在虚拟环境中安装了一个类似于zbar的库。

$ brew install zbar

然后在虚拟环境中,我做了以下操作来更改C语言编译配方中的隐式规则:

$ export LDFLAGS="-L$(brew --prefix zbar)/lib"
$ export CFLAGS="-I$(brew --prefix zbar)/include"

最后,我在虚拟环境中安装了一个轻量版的zbar:

$ pip install zbarlight

在以上步骤完成后,添加了下面的pyzbar依赖到我的requirements.txt中,我就能在虚拟环境中用Python 2.7导入zbar了。

pyzbar==0.1.7

在虚拟环境中测试导入:

$ python
>>> import zbar
>>>

希望这能帮助到未来的某个人。我在让这个工作正常运行上费了不少劲,而且关于zbar的资源相对较少。

0

如果其他人遇到这个问题,无法通过 pip 安装 Python 的 zbar,可以试试以下方法:

首先,安装 zbar:在终端输入 brew install zbar

接着,安装 PIL(Python Imaging Library):输入 brew install pillow

然后,下载 zbar 的源代码:可以去这个链接 https://pypi.python.org/pypi/zbar

下载后,解压 zbar 文件:在终端输入 tar -xjvf zbar-0.10.tar.bz2

最后,安装 zbar:输入 python setup.py install --user

5

两年后又遇到这个问题了……这是我找到的解决办法

LDFLAGS=-L/usr/local/lib/ CPATH=/usr/local/include/ pip install zbar
6
$ brew install zbar

然后在那之后

$ pip install zbar

头文件会被找到(zbar.h)

7

在我的情况下,我使用的是 Ubuntu 系统,需要安装一个叫 libzbar-dev 的软件包:
sudo apt-get install libzbar-dev

撰写回答