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

时间:2014-08-13 01:57:53

标签: python c++ django

我正在尝试运行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 :(得分:5)

$ brew install zbar

之后

$ pip install zbar

然后将找到头文件(zbar.h)

答案 1 :(得分:5)

2年后再次遇到这个问题......这对我有用

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

答案 2 :(得分:2)

就我而言,我正在运行Ubuntu并且必须安装libzbar-dev包:
sudo apt-get install libzbar-dev

答案 3 :(得分:1)

如果其他人遇到此问题,则无法使用pip为python安装zbar:

安装zbar:brew install zbar

安装PIL:brew install pillow

下载zbar来源:https://pypi.python.org/pypi/zbar

解压缩zbar:tar -xjvf zbar-0.10.tar.bz2

安装:python setup.py install --user

答案 4 :(得分:0)

我最近在尝试从虚拟环境中的Mac OS在本地启动服务时遇到此问题,该服务在python应用程序中导入了zbar。该服务仍在运行python2.7。

让服务在虚拟环境中运行,我不愿意尝试任何需要全局系统更改的事情。

我必须通过Homebrew(全局)安装zbar来解决此问题。然后将在C编译“配方”中使用的标志或隐式规则导出到虚拟环境。最后,我在虚拟环境中安装了一个类似于zbar依赖关系的库。

$ brew install zbar

然后在虚拟环境中获取源代码时,我将执行以下操作以更改c编译配方中的隐式规则:

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

最后,我在venv内安装了轻型的zbar:

$ pip install zbarlight

完成上述操作后,在我的requirements.txt文件中包含了pyzbar的其他依赖项之后,我便能够在虚拟环境中使用python2.7导入zbar。

pyzbar==0.1.7

在虚拟环境中测试导入:

$ python
>>> import zbar
>>>

希望这对以后的人有所帮助。我为此付出了很多努力,而有关zbar的资源却十分匮乏。