我有一个使用zbar进行条形码识别的Django应用程序。
它在我的开发人员机器上正常工作,但是当我尝试将其部署到Heroku时,我的提交被拒绝,并显示以下消息:

 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在我的计算机上工作正常。
我填写了requirements.txt

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


谁能帮我?
PS对不起,我写错了。英语不是我的母语。

最佳答案

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

它将使用libzbar-dev安装apt-get,因此当pip install zbar运行时,zbar将存在。

编辑:包括apt-get方法

关于python - heroku无法安装zbar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19644358/

10-12 22:24