python - 已安装模块但找不到 Brew 安装的共享库

标签 python python-3.x image-processing barcode-scanner

我需要安装一个模块 pyzbar,它依赖于另一个名为 zbar 的模块。根据 pypi link我首先需要通过安装 zbar

brew install zbar
然后安装pyzbar
pip install pyzbar
在尝试基于导入模块的特定部分运行代码时完成此操作后,会出现错误。
from pyzbar.pyzbar import decode
错误是
ImportError: 找不到 zbar 共享库
如何检查问题究竟来自哪里以及如何解决?
以下是我在查看评论后采取的步骤:
1-尝试查找 libzbar 文件以及如何将其链接到路径,以便 pyzbar 文件 zbar_library.py 可以找到它。 libzbar 文件位于此位置/opt/homebrew/Cellar/zbar/0.23.90 由 homebrew 安装,而不是在 usr/local/lib 中(令人惊讶的是,我的 mac 上不存在这样的目录)。我将zbar lib文件的位置添加到路径的方式是
export DYLD_LIBRARY_PATH=/opt/homebrew/lib
当我在运行 python 的 conda 环境中时,在终端中。现在,当尝试在导入 pyzbar 时运行 python 时,它会发现一些东西并且不再给出“找不到共享库”错误,而是给出以下错误:
  File "/Users/username/miniconda3/envs/my_env/lib/python3.7/site-packages/pyzbar/zbar_library.py", line 66, in load
    libzbar = cdll.LoadLibrary(path)
  File "/Users/username/miniconda3/envs/my_env/lib/python3.7/ctypes/__init__.py", line 442, in LoadLibrary
    return self._dlltype(name)
  File "/Users/username/miniconda3/envs/my_env/lib/python3.7/ctypes/__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(/opt/homebrew/lib/libzbar.dylib, 6): no suitable image found.  Did find:
    /opt/homebrew/lib/libzbar.dylib: mach-o, but wrong architecture
    /opt/homebrew/Cellar/zbar/0.23.90/lib/libzbar.0.dylib: mach-o, but wrong architecture
    /opt/homebrew/lib/libzbar.dylib: mach-o, but wrong architecture
    /opt/homebrew/Cellar/zbar/0.23.90/lib/libzbar.0.dylib: mach-o, but wrong architecture

最佳答案

您可能有多个导致此类问题的 python/pip 版本。为了确定这一点,您可以尝试

python3.9 -m pip install pyzbar

python3.9
from pyzbar.pyzbar import decode
如果导入仍然有任何错误,请通过执行包含所有已安装 pip 包的列表
pip freeze --all

关于python - 已安装模块但找不到 Brew 安装的共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67543439/

相关文章:

python除法结果与负数不同

python - numpy 调用类方法的行为名称(如果定义)?

image-processing - aforge和c#连接字符时的图像分割

python - 如何使用 Python 检索动态 html 内容的值

Python 在通过 for 循环完成迭代后重新定义随机数列表的整个列表

python - 在类级别使用装饰器注册方法

Python,导入模块

Python 3 : Determine if object supports IO

matlab - 人体模特的服装剪裁

c# - 为位图寻找最佳调色板