如何让 python 中的 Zxing 与 Heroku 一起工作?

我正在将一个 python flask 应用程序部署到 heroku,它使用 Zxing 读取二维码(扫描它们)并给出它们的数据,但是 Zxing 需要在 heroku 环境中使用 Java。


Zxing : https://github.com/dlenski/python-zxing


Zxing 错误


barcode = reader.decode(f) #qrreader.data#

File "/app/.heroku/python/lib/python3.6/site-packages/zxing/__init__.py", line 48, in decode

raise BarCodeReaderException("Java binary specified does not exist", self.java, e)

zxing.BarCodeReaderException: ('Java binary specified does not exist', 'java', FileNotFoundError(2, "No such file or directory: 'java'"))

我试过的


将 java buildpack 添加到 python 旁边的环境中,但是会吐出一个错误,我不确定它是否能以任何一种方式解决问题。


来自 heroku 的 Java buildpack


heroku/java

寻找其他可以只用 python 完成相同工作的库(找不到)(zbar 依赖问题)


我当前的构建包


https://github.com/survantjames/heroku-buildpack-poppler.git

heroku/python

https://github.com/heroku/heroku-buildpack-apt

所有这些都适用于安装了 java 且没有其他更改的本地 Windows 10 环境。


有没有办法让 Zxing 工作,或者有其他可行的方法吗?


慕村9548890
浏览 86回答 1
1回答

沧海一幻觉

我设法通过添加 buildpack 解决了我的错误https://github.com/heroku/heroku-buildpack-jvm-common.git代替 heroku 提供的 java buildpack(编辑: heroku/java),我使用的 buildpack 只是将 jvm 安装到我的环境。Zxing 现在构建良好 :D由于我写的不好而造成混乱,但我根本不是说 heroku 不提供这些构建包。我在这里说“到位”应该在问题的上下文中进行,因此它代替了原始的构建包(heroku/java)。它在任何地方或任何形式都意味着 heroku 不提供构建包。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python