2013-10-28 2 views
1

바코드 인식을 위해 zbar를 사용하는 Django 응용 프로그램이 있습니다. 그것은 내 개발자 컴퓨터에서 잘 작동 하지만 난 Heroku가에 배포하려고 할 때 다음과 같은 메시지가 거부 된 커밋의 나 :heroku가 zbar를 설치할 수 없습니다.

Installing collected packages: zbar 
     Running setup.py install for zbar 
      building 'zbar' extension 
      gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/app/.heroku/python/include/python2.7 -c zbarmodule.c -o build/temp.linux-x86_64-2.7/zbarmodule.o 
      In file included from zbarmodule.c:24: 
      zbarmodule.h:26:18: error: zbar.h: No such file or directory 
      In file included from zbarmodule.c:24: 
      /*many "undeclared" errors*/ 
      !  Push rejected, failed to compile Python app 

pip install zbar 내 컴퓨터에서 잘 작동합니다. 그리고 난 이

이 사람이 나를 도울 수

cat requirements.txt 
Django==1.5.5 
PIL==1.1.7 
dj-database-url==0.2.2 
dj-static==0.0.5 
django-toolbelt==0.0.1 
gunicorn==18.0 
psycopg2==2.5.1 
static==0.4 
wsgiref==0.1.2 
zbar==0.10 
requirements.txt

작성? 추신 : 내 실수를해서 죄송합니다. 내 모국어가 아닌 영어.

+0

나는 heroku를 사용한 적이 없지만 virtualenv를 사용하고 있습니까? 전역 사이트 패키지를 컴파일하는 데 권한이 없으므로 당연한 것입니다. 편집 : 당신은'필수 설치'를 가지고 계십니까? – Enrico

+0

@Enrico 네, virtualenv를 사용합니다. 내 개발자 컴퓨터에 "빌드에 필수 설치되어 있습니까?" –

답변

1

zbar python 패키지는 단지 래퍼입니다.

heroku buildpacks를 사용해야합니다. https://elements.heroku.com/buildpacks/generalui/heroku-buildpack-zbar 이 buildpack이

대안으로 빌드 zbar를 설치합니다, 당신은이를 사용할 수 있습니다 https://elements.heroku.com/buildpacks/heroku/heroku-buildpack-apt

을 다음 파일은 프로젝트의 루트에 Aptfile라는 포함

libzbar-dev

을 을 apt-get을 사용하여 설치하므로 pip install zbar이 실행되면 zbar가 존재합니다.

편집 : 포함 apt-get 방법