【问题标题】:Decode a qr-code in Python 3.6 in Anaconda 4.8.3 on 64 bit Windows?在 64 位 Windows 上的 Anaconda 4.8.3 中解码 Python 3.6 中的二维码?
【发布时间】:2020-08-07 06:44:24
【问题描述】:

如何在 Windows 10 Pro N 64 位安装的 Anaconda 4.8.3 中解码 python 3.6 中的二维码?

大多数解决方案都需要 Pillow with zbar。但是,it appearszbar 仅适用于 32 位 窗户安装。此外,pip install zbarlight 产生:

ERROR: No matching distribution found for pyzbarlight

为了尝试在 Windows 10 Pro N 64 位设备上的 Anaconda 4.8.3 中的 python 3.6 中解码二维码,我尝试了以下代码:

# Set up virtual environment in Anaconda
# conda create --name test36 python=3.6
# conda activate test36

# Install pip in the `test36` environment:
# E:/ProgramData/Anaconda3/envs/test36/Scripts/pip install pyzbar

# Source: https://anaconda.org/anaconda/pillow
# conda install -c anaconda pillow

from pyzbar.pyzbar import decode
from PIL import Image
decode(Image.open('elbow.png'))

产生错误:

OSError: [WinError 126] The specified module could not be found

【问题讨论】:

    标签: python-3.x anaconda decode qr-code


    【解决方案1】:

    Windows 错误消息

    如果您在 Windows 上导入 pyzbar 时看到难看的 ImportError,您很可能需要 Visual C++ Redistributable Packages for Visual Studio 2013。如果使用 64 位 Python,请安装 vcredist_x64.exe,如果使用 32 位 Python,请安装 vcredist_x86.exe。

    请访问并阅读这里https://pypi.org/project/pyzbar/或github主页https://github.com/NaturalHistoryMuseum/pyzbar

    我将 Ubuntu 用于我的目的,所以我无法检查这一点,但在家庭项目 README 中,它们提供了有关丑陋 ImportError 的信息。 如果他们谈论的是 64 位安装,那么 pyazbar 可以在 64 位 Windows 上运行,请仔细检查 Visual C++ Redistributable Packages for Visual Studio 2013 是否已正确安装以及是否满足其他要求。

    【讨论】:

    • 谢谢,我的链接不正确或 Visual C++ Redistributable Packages 冲突。首先,我删除了所有现有的 Visual C++ Redistributable Packages。接下来我从microsoft.com/en-US/download/details.aspx?id=40784 下载并安装了vcredist_x64.exe,如pyzbar 的git 所示。我关闭并重新打开 Anaconda Prompt 并验证了您的答案/代码在 x64 Windows 10 上 Anaconda 4.8.3 上的 python 3.6 环境中使用正确的 Visual C++ 包。
    • @a.t.别客气。顺便说一句,如果 Anaconda 中没有适用于 x64 Windows 的 pyzbar(我已经检查了您的 conda 包链接,只有 x32 可用)。只需通过 pip 安装它。首先将包转到 pypi,然后 conda 将它们复制到 conda 存储库(不确定,但我认为它是这样工作的)
    【解决方案2】:

    回顾以下步骤,在 64 Windows 10 Pro N 设备上的 Anaconda prompt 4.8.3 中的 python 3.6 环境中启用解码二维码:

    步骤假设安装并激活了python 3.6环境,可以做到。

    conda create -n py36 python=3.6 anaconda
    conda activate py36
    

    枕头安装

    来源:https://anaconda.org/conda-forge/pillow

    命令:

    conda install -c conda-forge pillow
    

    Pyzbar 安装

    来源:Decode a qr-code in Python 3.6 in Anaconda 4.8.3 on 64 bit Windows?

    命令:

    pip install pyzbar
    

    然后来自来源:https://www.microsoft.com/en-US/download/details.aspx?id=40784 下载vcredist_x64.exe(如果您有 64 位电脑,对于 x86,请选择 32 位版本)。 您甚至不必重新启动 anaconda 提示符,您可以使用名为 test.py 的 python 文件验证 pyzbar,其内容为:

    from pyzbar.pyzbar import decode
    decode(Image.open('test.png'))
    

    接下来在与test.py 相同的文件夹中包含一个名为test.png 的图像。 您可以在 python 3.6 环境中的 Anaconda 提示符下执行test.py,命令如下:

    python test.py
    

    它不应该输出任何东西。

    【讨论】:

      猜你喜欢
      • 2017-06-17
      • 2023-03-31
      • 1970-01-01
      • 2017-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多