为 Python 3.x 编译 zbar

2024-02-10

几年前,我花了一些时间寻找一种方法zbar使用 Python 2.7 + Windows x64,我发布了这个工作解决方案:如何在(最好是纯)Python 中解码 QR 码图像? https://stackoverflow.com/questions/27233351/how-to-decode-a-qr-code-image-in-preferably-pure-python/50435929#50435929

现在我注意到pip install zbar仍然不能在 Python 3.7 中开箱即用,所以我尝试从源代码编译它。这是我所做的:

  • 安装“Microsoft Visual C++ Build Tools 2015”(请参阅here https://stackoverflow.com/questions/59968336/how-is-microsoft-build-tools-2015-different-from-visual-c-build-tools-2015/59969042#59969042)

  • Get the zbar来源:https://github.com/NaturalHistoryMuseum/ZBarWin64 https://github.com/NaturalHistoryMuseum/ZBarWin64

  • msbuild zbar64.sln /p:PlatformToolset=v140,它工作并生成了一个文件libzbar64-0.dll成功地

  • 将其复制到/x64/Release/libzbar64-0.dll

  • go to Python/并运行build.bat但这里失败了:

    zbarmodule.c(132): 错误 C2143: 语法错误: ' 之前缺少 '{''
    zbarmodule.c(136): 错误 C2143: 语法错误: ' 之前缺少 '{'
    '
    zbarmodule.c(197): 错误 C2065: 'PyInt_Type': 未声明的标识符

我不认为问题来自于zbar这对每个人来说都编译得很好。难道这个版本的zbar不适合Python 3.x吗?

你有一个可行的解决方案来使用zbarPython 3.x + Windows x64 上的库?


PS:现在还在维护吗?最新的事件似乎是在2012年Mercurial 仓库 http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar,并且无法在这个 Github 仓库 https://github.com/ZBar/ZBar nor this one https://github.com/NaturalHistoryMuseum/ZBarWin64/.


要使 zbar 适用于 Python 3.x,您可以安装pyzbar

pip install pyzbar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 Python 3.x 编译 zbar 的相关文章

  • 我可以在 C++ 中重写非虚函数吗

    我想知道我可以重写 C 中的非虚函数吗 因为我在使用 C 时发现了这个问题override关键字我的代码如下 class A public void say cout lt lt From A n class B public A publ
  • 如何抑制 pyinstaller 生成的可执行文件窗口中的所有警告

    我已经使用 pyinstaller 从 python 文件生成了可执行文件 该程序按其应有的方式工作 但在我想隐藏的窗口中出现了一条警告消息 当 python 文件在 IDE 中运行时 以下行会抑制所有警告消息 warnings filte
  • 除空字符串外的任何内容的正则表达式

    是否可以使用正则表达式来检测任何不是 空字符串 的内容 如下所示 string s1 string s2 string s3 string s4 etc 我知道我可以使用修剪等 但我想使用正则表达式 s 将匹配任何包含至少一个非空格字符的字
  • 将数据框列打包到 pandas 中列出

    我需要将 pandas DataFrame 列打包到包含列表的一列中 例子 For gt gt gt df a b c 0 81 88 1 1 42 7 23 2 8 37 63 3 18 22 20 制作列表栏 list col 0 81
  • 不重复的Python组合

    我有一个数字列表 我想从中进行组合 如果我有清单 t 2 2 2 2 4 c list itertools combinations t 4 结果是 2 2 2 2 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 但我想得到
  • 将授权标头添加到 Web 参考

    我正在尝试向客户端的网络服务发出请求 我不知道客户端的底层平台 我使用 添加 Web 引用 在 Visual Studio 2010 中使用了客户端的 WSDL 并生成了我的代理类 称为 ContactService 我现在需要将如下所示的
  • 在 Docker 容器内运行时,如何自动在 API 路由文件中进行 FASTAPI 拾取更改?

    我通过 docker 运行 FastApi 在 docker compose 中创建一个名为 ingestion data 的服务 我的 Dockerfile FROM tiangolo uvicorn gunicorn fastapi p
  • 为什么我无法调试动态加载的程序集?

    我正在开发一个 Web API 项目 该项目使用内部模拟框架 允许拦截和修改来自控制器的响应 它使用 MEF 加载包含某些先决条件匹配时执行的代码的程序集 我知道这是正常工作的 因为我可以在响应中看到模拟已被执行 但由于某种原因我无法调试动
  • C++:LPWSTR 在 cout 中打印为地址

    我有一个类型变量LPTSTR 我打印到std cout with lt lt 在 ANSI 系统中 不知道它是在哪里确定的 它工作得很好 它打印了字符串 现在 在 Unicode 系统中 我得到的是十六进制地址而不是字符串 那么 为什么LP
  • 如何替换被测模块的文件访问引用

    pyfakefs https code google com p pyfakefs 听起来非常有用 它 最初是作为核心 Python 模块的一个适度的假实现来开发的 以支持中等复杂的文件系统交互 并于 2006 年 9 月在 Google
  • 在Python中引用不带换行符的长字符串

    我正在尝试在 Python 中编写一个长字符串 该字符串显示为 OptParser 选项的帮助项 在我的源代码 py 文件中 我想放置换行符 以便我的代码不会花费新行 但是 我不希望这些换行符影响代码运行时该字符串的显示方式 例如 我想写
  • 避免在列表理解中计算相同的表达式两次[重复]

    这个问题在这里已经有答案了 我在列表理解中使用一个函数和一个 if 函数 new list f x for x in old list if f x 0 令我恼火的是这个表达f x 在每个循环中计算两次 有没有办法以更清洁的方式做到这一点
  • Beautiful Soup 获取动态表数据

    我有以下代码 url https www basketball reference com leagues NBA 2017 standings html all expanded standings html urlopen url so
  • 从 sublime_plugin.WindowCommand 获取当前文件名

    我开发插件sublime text 3 并想要获取当前打开的文件路径 absolute1 self window view file name 在哪里self is sublime plugin WindowCommand 但失败了 Att
  • 将多个 Blob 输入传递到 QueueTrigger Azure 函数的最佳方法

    问题 触发后 生成 3 个 XML 文件 完成后将它们通过 ftp 传输到站点 目前的方法 我有一个 HTTP 触发器 Azure 函数 运行时将构造 3 个 XML 文件并将它们保存到 Azure 存储 Blob 容器中 由于有多个输出
  • 返回 ICollection 而不是 List 的真正优势是什么? [复制]

    这个问题在这里已经有答案了 我读过几篇博客文章 提到对于公共 API 我们应该始终返回 ICollection 或 IEnumerable 而不是 List 返回 ICollection 而不是 List 的真正优势是什么 Thanks 复
  • 在Framework 4.6项目中使用.net core DLL

    我已经在 net core 2 0 中构建了一个 DLL 现在我想在使用 net 4 6 1 框架的 WinForms 项目中使用它 我可以引用该 dll 但收到 System IO FileLoadException 表示找不到 Syst
  • 在字典理解中为 locals() 添加下标失败并出现 KeyError [重复]

    这个问题在这里已经有答案了 我对 Python 的奇怪行为感到困惑locals 基本上我想从字典中获取一个项目locals 在字典理解中 但它失败了 这是一个非常基本的事情 所以 gt gt gt foo 123 gt gt gt bar
  • Networkx 中 Louvain 分区的可视化

    请帮助我更改 Louvain 聚类算法结果的可视化 我从网站上获取了代码https github com taynaud python louvain https github com taynaud python louvain我可以重写
  • C#:如何处理乱序 TCP 数据包?

    请有人解释一下如何处理乱序数据包 我使用原始套接字来捕获数据包 并在数据包到来时解析它们 但其中一些数据包的顺序错误 例如 ID 标志 16390 PSH ACK 16535 PSH ACK 16638 确认 16640 PSH ACK 1

随机推荐

  • OpenAI GPT-3 API:如何扩展 TL;DR 输出的长度?

    我想使用 OpenAI 的 TLDR 从 2 3 页的文章中生成 3 6 句话的摘要 我已经粘贴了文章文本 但输出似乎只停留在 1 到 2 句话之间 用于获取给定提示的 3 句话摘要的选项 您可以通过多种方式告诉 OpenAI API 您需
  • Mysql选择并显示两列

    我想提取存储在表的同一列中的两种类型的数据并将其显示在两列中 我做了很多搜索并做了很多测试 但没有任何作用 这可能很容易做到 这是我的桌子 id field id user id value 175 65 3 48 898418820126
  • Twilio 短信问题

    到目前为止 我一直在使用 Twilio 打电话 现在我希望能够有一个网络监控工具 可以在号码出现问题时发送短信 我想这样做 以便当 twilio 收到文本时 它会执行我放入其 URL 中的脚本 我真的不知道如何开始使用短信 与电话相比 它看
  • Kotlin - 在运行函数之前等待观察多个 LiveData

    我正在使用 viewModel 从房间数据库中提取实时数据 我有 2 个从 viewModel 中提取的 LiveData 然后我将运行一个函数从我的服务器中提取数据 我需要在运行从服务器获取信息的函数之前设置这两个值 因为这些值是帖子正文
  • Node+Passport.js + Sessions + 多个服务器

    护照很棒 我现在发现它处理会话的方式存在一些问题 一定是我用错了 登录 会话 我存储在数据库中的用户数据对我来说一切都很顺利 然而 我发现当我转移到生产环境 具有多个服务器的 EC2 上的云 时 我每次都会丢失登录会话 现在我很清楚这一点
  • 用于多个 Semantic UI 主题的 Semantic UI 主题构建器,支持 Font Awesome 类名和原始 Semantic UI React 文档演示

    我是 Semantic UI 的忠实粉丝 尤其是 Semantic UI React 的忠实粉丝 除了它们是优秀的库之外 它们的文档也很棒 然而 为其组件编写和维护主题可能很麻烦 编写 构建和维护多个主题变得更加困难 所以问题是 如何编写
  • 使用密码加密/解密字符串 C# Metro 风格

    我想用密码加密和解密字符串 我使用 C 和 WinRT MetroStyle 有人有加密 解密课程吗 Metro 中不存在普通的 Net System Security Cryptography 命名空间 您使用密码引擎 http msdn
  • Angular 6 材质垫选择更改方法已删除

    在 Angular Material Design 6 中 删除了 change 方法 当用户更改选择时 我应该如何替换更改方法以在组件中执行代码 改变它从change to selectionChange
  • 根据 CSV 中的值创建文件夹

    我正在开发一个更大的脚本解决方案的一小部分 其中我需要根据 CSV 中存储的值创建文件夹 然后根据 csv 列中的值将适用的文件移动到新文件夹中 CSV 的格式 fileName folder AC002 Y AC034 Y AC001 X
  • 在文档中添加新元素后,jQuery 显示不起作用

    我正在使用 Ajax Request 将元素加载到 div 容器中 默认情况下我隐藏一个输入框 如果用户单击该 div 上的编辑图标 我想显示输入框 这是我的代码 HTML代码 div class container div
  • 如何将mysql结果集分布在4个数组的多维数组中

    我对这个简直要疯了 花了近 4 个小时试图弄清楚 但没有成功 我正在尝试获取 4 个数组的多维数组中的 mysql 查询结果集 因此 如果结果集返回 8 条记录 则该数组将包含 4 个每组 2 条记录的数组 如果结果集返回 20 条记录 则
  • Chrome/Webkit 音频标签错误?

    我正在尝试让 HTML5 的音频标签在 Chrome 中工作 以下代码在 Firefox 中可以完美运行 您知道为什么它在 Webkit 中无法运行吗 我还应该指出 我也用 mp3 尝试过此操作 无论什么格式 每当对音频调用 play 时
  • 快速创建 BouncyCastle SecureRandom 实例是否有问题?

    如所述随机数生成器仅生成一个随机数 https stackoverflow com q 767999 1709587 创建一个新实例通常是不正确的System Random每次你需要另一个随机数时 因为System Random是根据时钟播
  • VSCODE 精确的按键绑定,想知道当前的上下文。怎么做?

    许多插件可以通过未记录的 API 设置自己的特定 上下文 设置上下文 由于文档没有列出这些自定义上下文 因此我不能只查看文档来了解如何以正确的方式配置我自己的键绑定 是否有可能知道当前环境 array 例如 我想使用键盘快捷键 没有鼠标 导
  • 我需要一个 Python 类来跟踪它被实例化的次数

    我需要一个像这样工作的类 gt gt gt a Foo gt gt gt b Foo gt gt gt c Foo gt gt gt c i 3 这是我的尝试 class Foo object i 0 def init self Foo i
  • Visual Basic 2010 HTTP POST 请求

    如何将 POST HTTP 请求发送到服务器 在 Visual Basic 2010 中 然后接收字符串回复 您可以通过 HttpWebRequest 来完成此操作 只需设置HttpWebRequest Method http msdn m
  • 通过字符串从枚举获取 Case

    我寻找一个简单的解决方案来通过字符串获取枚举的情况 有 BackedEnums 例如
  • 如何在向量的每个值之间写入逗号?

    我想将向量导出到文件中 每个值之间用逗号分隔 我尝试过使用paste with sep 但它不起作用 有谁知道为什么 gt x lt rnorm 10 gt paste x sep 1 1 08574649988891 2 95803811
  • C 中如何解析链接宏?

    如果我想使用预处理器 define语句可以轻松定义和计算常量和常用函数 并利用较少的 RAM 开销 与使用const值 但是 我不确定如果同时使用多个宏 它们将如何解决 我正在设计自己的DateTime代码处理 类似于 Linux 时间戳
  • 为 Python 3.x 编译 zbar

    几年前 我花了一些时间寻找一种方法zbar使用 Python 2 7 Windows x64 我发布了这个工作解决方案 如何在 最好是纯 Python 中解码 QR 码图像 https stackoverflow com questions