python 无法找到模块“libiconv.dll”当尝试导入“pyzbar”模块到Jupyter Lab

8e2ybdfx  于 2023-04-10  发布在  Python
关注(0)|答案(2)|浏览(476)

我的系统:

  • Windows 8.1专业版,版本6.3(内部版本9600)
  • Anaconda版本:conda 4.9.2
  • Python 3.8.5(conda env中的Python)
  • Jupyter实验室2.2.6

嘿,我希望你们有一个伟大的一天。我有一些困难,当我试图导入“pyzbar”模块到Jupyter实验室。它说:
找不到模块“C:\Users\mypc\anaconda 3\lib\site-packages\pyzbar*libiconv.dll*”(或其某个依赖项)。请尝试使用具有构造函数语法的完整路径。
我已经尝试使用pip和conda重新安装这个软件包,似乎没有任何工作,我还尝试安装“Visual C++ Redistributable Packages for Visual Studio 2013”(注意:我认为我的问题有点类似于这个,How to solve Import Error on Python's 'Pyzbar' library?,我只下载并安装2013 x64版本,https://www.microsoft.com/en-us/download/details.aspx?id=40784),它仍然没有解决我的问题.任何建议或一点点帮助将是伟大的.谢谢大家.

nnsrf1az

nnsrf1az1#

试试python3.6.2(没有anaconda)它工作知道,here is result on python 3.6.2 without conda

~\Projects\Opencv\python\QR-Code-Projects\QR-Code                                                      [  ] 11:46:50
➜ python .\Test_pyZbar.py
-----------------------------
python Verion:  3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)]
-----------------------------
Data: Some data
BBox: Rect(left=40, top=40, width=210, height=210)
 ~\Projects\Opencv\python\QR-Code-Projects\QR-Code                                                      [  ] 11:48:49

not working on conda
使用conda env(QR码)python3.6终端。

File "C:\minconda\envs\QR-code\lib\ctypes\__init__.py", line 348, in __init__
   self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
 ~\Projects\Opencv\python\QR-Code-Projects\QR-Code                                               [ QR-code ] 11:49:08
➜
import cv2
import sys
from pyzbar.pyzbar import decode, ZBarSymbol
print("-----------------------------")
print('python Verion: ', sys.version)
print("----------------------------")
# Image.open('barcode1.png')  # if use PIL library
im = cv2.imread("Code.png")  # if use cv2

# codes = decode(im, symbols=[ZBarSymbol.QRCODE])  # specify code type
codes = decode(im)  # auto detect code type
# print('Decoded:', codes)

for code in codes:
    data = code.data.decode('ascii')
    print('Data:', code.data.decode('ascii'))
    # print('Code Type:', code.type)
    print('BBox:', code.rect)
    x, y, w, h = code.rect.left, code.rect.top, \
        code.rect.width, code.rect.height
    cv2.rectangle(im, (x, y), (x+w, y+h), (255, 0, 0), 8)
    # print('Polygon:', code.polygon)
    cv2.rectangle(im, code.polygon[0], code.polygon[1],
                  (0, 255, 0), 4)

    txt = '(' + code.type + ')  ' + data
    cv2.putText(im, txt, (x - 10, y - 10),
                cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 50, 255), 2)

text1 = 'No. Codes: %s' % len(codes)
cv2.putText(im, text1, (5, 15),
            cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)

cv2.imshow('bounding box', im)
cv2.waitKey(0)
cv2.destroyAllWindows()
iecba09b

iecba09b2#

对我来说(在anaconda上)是:我已经通过conda-forge安装了pyzbar。我卸载了它,然后使用pypi重新安装,它工作了:

pip install pyzbar

相关问题