如何安装源自apt包的Python绑定?

如何安装源自apt包的Python绑定?,python,linux,debian,apt,zbar,Python,Linux,Debian,Apt,Zbar,我有一个网站托管在,现在我想使用pythonqrtools包,它使用。在常规debian(基于)上,我可以做一个简单的: sudo apt-get install python-qrtools 根据命令dpkg query-L python qrtools,这将安装以下内容: /usr/lib/python2.7/dist-packages/qrtools-1.2.egg-info /usr/lib/python2.7/dist-packages/qrtools.py /usr/share/d

我有一个网站托管在,现在我想使用
pythonqrtools
包,它使用。在常规debian(基于)上,我可以做一个简单的:

sudo apt-get install python-qrtools
根据命令dpkg query-L python qrtools,这将安装以下内容:

/usr/lib/python2.7/dist-packages/qrtools-1.2.egg-info
/usr/lib/python2.7/dist-packages/qrtools.py
/usr/share/doc/python-qrtools/copyright
/usr/share/doc/python-qrtools/changelog.Debian.gz
当我查看
qrtools.py
的导入时,它还执行
import zbar
,这是(据我所知)zbar包()的python绑定。我有点惊讶zbar或它的python绑定不在
pythonqrtools
apt包的列表中。因此,我的第一个问题是:

何时何地安装此zbar软件包?

接下来,我决定在Heroku上安装ZBar及其python绑定。我设法使用安装了ZBar,所以我只需要安装ZBar-Python绑定。从python命令行中,我已经看到它是一个源自.so文件的绑定:

>>> import zbar
>>> zbar.__file__
'/usr/lib/python2.7/dist-packages/zbar.so'
因此,我做了一个简单的
sudopip安装zbar
,不幸地导致了一个巨大的编译错误,我将其粘贴在下面。所以我的主要问题是:

/usr/lib/python2.7/dist-packages/qrtools-1.2.egg-info
/usr/lib/python2.7/dist-packages/qrtools.py
/usr/share/doc/python-qrtools/copyright
/usr/share/doc/python-qrtools/changelog.Debian.gz
如何单独安装zbar-python绑定(因此没有apt)?欢迎所有提示

Downloading/unpacking zbar
  Downloading zbar-0.10.tar.bz2
  Running setup.py (path:/tmp/pip_build_root/zbar/setup.py) egg_info for package zbar

Installing collected packages: zbar
  Running setup.py install for zbar
    building 'zbar' extension
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c zbarmodule.c -o build/temp.linux-x86_64-2.7/zbarmodule.o
    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: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/zbar/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-zIuGzw-record/install-record.txt --single-version-externally-managed --compile:
    running install

running build

running build_ext

building 'zbar' extension

creating build

creating build/temp.linux-x86_64-2.7

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c zbarmodule.c -o build/temp.linux-x86_64-2.7/zbarmodule.o

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: command 'x86_64-linux-gnu-gcc' failed with exit status 1
下载/解包zbar
下载zbar-0.10.tar.bz2
运行setup.py(路径:/tmp/pip_build_root/zbar/setup.py)包zbar的egg_信息
安装收集的软件包:zbar
正在运行zbar的setup.py安装
建筑“zbar”扩建
x86_64-linux-gnu-gcc-pthread-fno严格别名-DNDEBUG-g-fwrapv-O2-Wall-Wstrict原型-fPIC-I/usr/include/python2.7-c zbarmodule.c-o build/temp.linux-x86_64-2.7/zbarmodule.o
在zbarmodule.c中包含的文件中:24:0:
zbarmodule.h:26:18:致命错误:zbar.h:没有这样的文件或目录
#包括
^
编译终止。
错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为1
从命令/usr/bin/python-c“import setuptools,tokenize;_uufile_uuu=”/tmp/pip_ubuild_root/zbar/setup.py';exec(compile(getattr(tokenize,'open',open)(u u文件uuuu)。read().replace('\r\n','n'),_u文件,'exec'))安装--record/tmp/pip-zIuGzw record/install-record.txt--外部管理的单一版本--编译:
正在运行的安装
运行构建
运行build_ext
建筑“zbar”扩建
创建构建
创建build/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc-pthread-fno严格别名-DNDEBUG-g-fwrapv-O2-Wall-Wstrict原型-fPIC-I/usr/include/python2.7-c zbarmodule.c-o build/temp.linux-x86_64-2.7/zbarmodule.o
在zbarmodule.c中包含的文件中:24:0:
zbarmodule.h:26:18:致命错误:zbar.h:没有这样的文件或目录
#包括
^
编译终止。
错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为1
因此,我尝试使用

不幸的是,我甚至不能在linux上安装zbar软件包

sudo apt-get install libzbar-dev
sudo pip install zbar
当您遇到此类错误时,通常会丢失一个-dev包,查找该包的简单方法是
apt cache search
,如下所示:

~$ apt-cache search zbar
libbarcode-zbar-perl - bar code scanner and decoder (Perl bindings)
libzbar-dev - bar code scanner and decoder (development)
libzbar0 - bar code scanner and decoder (library)
libzbargtk-dev - bar code scanner and decoder (GTK+ bindings development)
libzbargtk0 - bar code scanner and decoder (GTK+ bindings)
libzbarqt-dev - bar code scanner and decoder (Qt bindings development)
libzbarqt0 - bar code scanner and decoder (Qt bindings)
python-qrtools - high level library for reading and generating QR codes
python-zbar - bar code scanner and decoder (Python bindings)
python-zbarpygtk - bar code scanner and decoder (PyGTK bindings)
zbar-dbg - bar code scanner and decoder (debug)
zbar-tools - bar code scanner and decoder (utilities)

FWIW,我用来安装的过程是
pythonqrtools
libzbar-dev
,最后
pip-install-zbar

非常感谢!关于最后一行,请注意:apt-get
pythonqrtools
等同于apt-get
zbar-tools
libzbar-dev
pythonzbar
。所以最后三个取代了第一个。但再一次;万分感谢@kramer65,不用担心,您是否已经安装了python工具?我必须安装
libzbar dev
才能删除错误。是的,我确实已经安装了python qrtools,但我只是启动了几个虚拟机,在新安装上进行了尝试……)。现在,我正试图使用heroku buildpack apt在heroku上安装这个,我失败得很惨。我不想给你发垃圾邮件,但如果你对我的新问题也有想法的话,我会非常感激:看看你的日志,我认为python rtools不会安装libzbar dev,所以libzbar dev在这两种情况下都是必需的,你的站点包中有
zbar.so
文件吗?但是如果我只安装
python qrtools
,从python命令行运行
import zbar
确实有效。所以我想libzbar dev似乎不需要。。