python install zbar错误:安装脚本退出,错误:命令“ gcc”失败,退出状态为1

时间:2019-02-04 06:08:58

标签: python zbar

环境:

pyenv versions
system
2.7.13
* 3.4.3 (set by /home/foo/.pyenv/version)
3.4.3/envs/venv343
venv343

easy_install zbar遇到以下错误:

Searching for zbar
Reading https://pypi.python.org/simple/zbar/
Downloading https://files.pythonhosted.org/packages/e0/5c/bd2a96a9f2adacffceb4482cdd56831735ab5a67ea6a60c0a8757c17b62e/zbar-0.10.tar.gz#sha256=5d0dad77dbca8822a4689c546f598f28030321efb14fa36ac
5e409d181a0d9dd
Best match: zbar 0.10
Processing zbar-0.10.tar.gz
Writing /tmp/easy_install-oaUXl5/zbar-0.10/setup.cfg
Running zbar-0.10/setup.py -q bdist_egg --dist-dir /tmp/easy_install-oaUXl5/zbar-0.10/egg-dist-tmp-5Jv6UI
In file included from zbarmodule.c:24:0:
zbarmodule.h:26:18: fatal error: zbar.h: No such file or directory
 #include <zbar.h>
                  ^
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1

如在stackoverflow上提到的此问题所述,以下步骤已尝试但不起作用:

sudo apt-get install build-essential
sudo apt-get install bzip2
sudo apt-get install bzip2-dev
sudo apt-get install gcc
sudo apt-get install gcc-4.4
sudo apt-get install libbz2
sudo apt-get install libbz2-dev
sudo apt-get install libevent
sudo apt-get install libevent1-dev
sudo apt-get install libevent-dev
sudo apt-get install libgcc
sudo apt-get install libgcc1
sudo apt-get install libgcc1-4.7-dev
sudo apt-get install libgcc1-dev
sudo apt-get install libgcc-4.8-dev
sudo apt-get install libpython3.4-dev
sudo apt-get install libpython3.4-stdlib
sudo apt-get install libpython3-dev
sudo apt-get install libpython3-stdlib
sudo apt-get install libssl-dev
sudo apt-get install openssl
sudo apt-get install python3.4-dev
sudo apt-get install python3.4-devel
sudo apt-get install python3-dev
sudo apt-get install python3-devl
sudo apt-get install python3-gcc
sudo apt-get install python-dev
sudo apt-get install python-devel
sudo apt-get install python-setuptools

在按照某些朋友的建议安装libzbar-dev时,错误信息似乎有所不同,但仍然无法正常工作

Searching for zbar
Reading https://pypi.python.org/simple/zbar/
Best match: zbar 0.10
Downloading https://files.pythonhosted.org/packages/e0/5c/bd2a96a9f2adacffceb4482cdd56831735ab5a67ea6a60c0a8757c17b62e/zbar-0.10.tar.gz#sha256=5d0dad77dbca8822a4689c546f598f28030321efb14fa36ac
5e409d181a0d9dd
Processing zbar-0.10.tar.gz
Writing /tmp/easy_install-cw6n9lyu/zbar-0.10/setup.cfg
Running zbar-0.10/setup.py -q bdist_egg --dist-dir /tmp/easy_install-cw6n9lyu/zbar-0.10/egg-dist-tmp-vbl6ojsc
In file included from zbarmodule.c:24:0:
zbarmodule.h:42:5: error: unknown type name ‘PyIntObject’
     PyIntObject val;            /* integer value is super type */
     ^
zbarmodule.c: In function ‘initzbar’:
zbarmodule.c:112:9: warning: ‘return’ with no value, in function returning non-void [-Wreturn-type]
         return;
         ^
zbarmodule.c:115:34: error: ‘PyInt_Type’ undeclared (first use in this function)
     zbarEnumItem_Type.tp_base = &PyInt_Type;
                                  ^
zbarmodule.c:115:34: note: each undeclared identifier is reported only once for each function it appears in
zbarmodule.c:129:9: warning: ‘return’ with no value, in function returning non-void [-Wreturn-type]
         return;
         ^
zbarmodule.c:137:13: warning: ‘return’ with no value, in function returning non-void [-Wreturn-type]
             return;
             ^
zbarmodule.c:146:5: warning: implicit declaration of function ‘Py_InitModule’ [-Wimplicit-function-declaration]
     PyObject *mod = Py_InitModule("zbar", zbar_functions);
     ^
zbarmodule.c:146:21: warning: initialization makes pointer from integer without a cast [enabled by default]
     PyObject *mod = Py_InitModule("zbar", zbar_functions);
                     ^
zbarmodule.c:148:9: warning: ‘return’ with no value, in function returning non-void [-Wreturn-type]
         return;
         ^
error: Setup script exited with error: command 'gcc' failed with exit status 1

我该如何解决?谢谢你的回答

3 个答案:

答案 0 :(得分:1)

在Ubuntu和Mint上

sudo apt-get install python-zbar libzbar-dev python-qrtools

pip install libzbar-cffi==0.2.1

答案 1 :(得分:0)

从另一篇文章看来无关紧要,我想出了解决方法

ImportError: No module named zbar on Linux Mint

但是我只输入了

sudo apt-get install zbar-

然后按TAB键,然后找到zbar-dbg,只是尝试一下,它确实有效。

  

sudo apt-get install zbar-tools zbar-dbg

这确实让我震惊,而确实由zbar问题引起的gcc错误。 也许有些人启发了类似的问题,所以我把它放在这里。

答案 2 :(得分:0)

zbar_version 函数需要一个补丁参数。尝试使用以下命令构建您自己的模块:https://github.com/rxwen/zbar.git

pip install git+https://github.com/rxwen/zbar.git