python - 为 Python 3.x 编译 zbar
问题描述
几年前,我花了一些时间寻找一种zbar
使用 Python 2.7 + Windows x64 的方法,并发布了这个可行的解决方案:How to decode a QR-code image in (preferably pure) Python?
现在我注意到pip install zbar
Python 3.7 仍然不能开箱即用,所以我试图从源代码编译它。这是我所做的:
安装“Microsoft Visual C++ Build Tools 2015”(见这里)
msbuild zbar64.sln /p:PlatformToolset=v140
libzbar64-0.dll
,它成功地工作并生成了一个文件将其复制到
/x64/Release/libzbar64-0.dll
去
Python/
运行build.bat
,但在这里失败了:zbarmodule.c(132):错误 C2143:语法错误:在“”之前缺少“{” zbarmodule.c
(136):错误 C2143:语法错误:在“”之前缺少“{” zbarmodule.c
(197):错误 C2065: 'PyInt_Type':未声明的标识符
我不认为问题来自zbar
对每个人都很好编译的问题。会不会是这个版本的 zbar 不适合 Python 3.x?
zbar
您是否有在 Python 3.x + Windows x64 上使用该库的有效解决方案?
PS:还在维护吗?最新的事件似乎是在 2012 年的Mercurial repo上,并且不可能在这个 Github repo或this one上发布问题。
解决方案
要使 zbar 适用于 Python 3.x,您可以安装pyzbar
pip install pyzbar
推荐阅读
- django - 限制匿名用户可以在 Django 中查看的页面
- php - 如何将内容和输出文件替换到浏览器?
- firebase - Firebase检查电子邮件是否存在而不注册用户 - 颤动
- html - 如何在没有媒体查询的情况下使 div 在另一个响应式 div 中响应?
- java - 错误:包 android.databinding 不存在
- ansible - Ansible win_find 命令未列出 D 驱动器中的文件 - 未能检查某些文件,这些文件被忽略并且不会成为结果输出的一部分
- django - Django - 隐藏“此字段是必需的。” 对于布尔字段
- python - 在张量流中处理参差不齐的数据
- entity-framework - 如何使用 EF Core 插入到父类的集合
- javascript - 使用节点 JS express 服务器响应 HTML 页面和 JSON