2014-12-10 5 views
7

Ich habe eine Website auf Heroku gehostet bekam, und ich möchte jetzt die python-qrtools Paket verwenden, die die ZBar bar code scanner verwendet. In regelmäßigen debian (basierend) ich eine einfache tun können:Wie installiere ich Python-Bindings, die aus einem apt-Paket stammen?

sudo apt-get install python-qrtools 

Nach dem Befehl dpkg-query -L python-qrtools Dieses installiert die folgenden:

/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 

Wenn ich die Einfuhren von qrtools.py aussehen, tut es auch eine , die (soweit ich verstehe) die Python-Bindung für das Zbar-Paket (Pypi link here). Ich bin irgendwie überrascht, dass zbar oder seine Python-Bindungen nicht in der Liste mit dem python-qrtools apt-Paket sind. Also meine erste Frage:

Wann und wo wird dieses zbar Paket installiert?

auf I Umzug entschieden ZBar und den Python für sie auf Heroku Bindung zu installieren. Ich habe ZBar mit this ZBar buildpack installiert, also muss ich nur die zbar Python-Bindung installieren. Von der Python-Befehlszeile sehe ich schon, dass es eine Bindung mit Ursprung aus einer .so-Datei ist:

>>> import zbar 
>>> zbar.__file__ 
'/usr/lib/python2.7/dist-packages/zbar.so' 

Also habe ich eine einfaches sudo pip install zbar, die leider in einem massiven Compilierung Fehlern führen, die ich unten eingefügt. Also meine Hauptfrage ist eigentlich folgende:

Wie installiere ich die zbar Python-Bindungen getrennt (also ohne apt)? Alle Tipps sind willkommen!

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 

Also habe ich versucht, separat die Python zbar zu installieren Bindung mit

Leider

in der Regel

Antwort

8
sudo apt-get install libzbar-dev 
sudo pip install zbar 

Es ist ich scheine nicht einmal in der Lage sein, die zbar Paket auf Linux zu installieren Ein -dev-Paket, das Sie vermissen, wenn Sie diese Art von Fehlern erhalten, ist eine einfache Möglichkeit, das Paket zu finden ist apt-cache search wie unten:

FWIW, die Prozedur, die ich verwendet, um war zu installieren python-qrtools, libzbar-dev und schließlich pip install zbar.

+0

Danke eine Million! Nur eine Anmerkung zu Ihrer letzten Zeile: apt-getting 'python-qrtools' IST GLEICH ZU apt-getting' zbar-tools', 'libzbar-dev' und' python-zbar'. Die letzten drei ersetzen also die erste. Aber wieder; tausend Dank! – kramer65

+0

@kramer65, keine Sorge, hast du Python-Qrtools noch nicht installiert? Ich musste 'libzbar-dev' installieren, um den Fehler zu entfernen. –

+0

Ja Ich hatte Python-Qrtools bereits installiert, aber ich habe gerade ein paar VMs gefeuert, um es bei Neuinstallationen auszuprobieren .. :). Im Moment versuche ich das auf heroku mit dem heroku-buildpack-apt zu installieren, bei dem ich kläglich versage. Ich will nicht, um Sie Spam, aber wenn Sie auch eine Idee für meine neue Frage habe ich sehr dankbar sein: http://stackoverflow.com/questions/27425981/why-dont-these-apt-packages-behave- the-same-on-ubuntu-and-Heroku – kramer65