运行pip install zbar时生成1个错误:#include <zbar.h>
我正在尝试运行 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 个回答
我最近在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的资源相对较少。
如果其他人遇到这个问题,无法通过 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
两年后又遇到这个问题了……这是我找到的解决办法
LDFLAGS=-L/usr/local/lib/ CPATH=/usr/local/include/ pip install zbar
$ brew install zbar
然后在那之后
$ pip install zbar
头文件会被找到(zbar.h)
在我的情况下,我使用的是 Ubuntu
系统,需要安装一个叫 libzbar-dev
的软件包:
sudo apt-get install libzbar-dev