简体   繁体   English

ImportError:dlopen(/Users/Desktop/myapp/target/myapp_mac/cv2/cv2.cpython-36m-darwin.so,2)

[英]ImportError: dlopen(/Users/Desktop/myapp/target/myapp_mac/cv2/cv2.cpython-36m-darwin.so, 2)

I'm using Pyinstaller and OpenCV in MacOS. 我在MacOS中使用Pyinstaller和OpenCV。 After building my standalone application, I'm getting the error below. 构建独立应用程序后,出现以下错误。 I've tried different versions of the modules, but nothing worked for me. 我尝试了不同版本的模块,但没有任何效果。

I'm Using 我正在使用

  • MacOs version: 10.14.5 MacOs版本:10.14.5
  • python : 3.6 的Python:3.6
  • pyinstaller : 3.4 pyinstaller的:3.4
  • opencv-python : 3.4.5 opencv-python的:3.4.5

The error: 错误:

File "main.py", line 19, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages/cv2/__init__.py", line 3, in <module>
ImportError: dlopen(/Users/Desktop/myapp/target/myapp_mac/cv2/cv2.cpython-36m-darwin.so, 2): Symbol not found: __ZN10QBoxLayout10invalidateEv
  Referenced from: /Users/Desktop/myapp/target/myapp_mac/cv2/cv2.cpython-36m-darwin.so
  Expected in: /Users/Desktop/myapp/target/myapp_mac/PyQt5/../QtGui
 in /Users/Desktop/myapp/target/myapp_mac/cv2/cv2.cpython-36m-darwin.so

In short, depending on your project, try the package opencv-python-headless instead of opencv-python 简而言之,根据您的项目,尝试使用包opencv-python-headless而不是opencv-python

I just got this working for my self. 我只是为了自己而工作。 the problem appears to be the package opencv-python is linked to Qt4, py installer copies the Qt5 binaries from PySide2 and thus the symbol can't be found. 问题似乎是opencv-python软件包链接到Qt4,py安装程序从PySide2复制了Qt5二进制文件,因此找不到该符号。

from opencv-python-headless : 来自opencv-python-headless

$ otool -L venv/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so
venv/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so:
        /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL (compatibility version 1.0.0, current version 1.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2)
        @loader_path/.dylibs/libavcodec.58.35.100.dylib (compatibility version 58.0.0, current version 58.35.100)
        @loader_path/.dylibs/libavformat.58.20.100.dylib (compatibility version 58.0.0, current version 58.20.100)
        @loader_path/.dylibs/libavutil.56.22.100.dylib (compatibility version 56.0.0, current version 56.22.100)
        @loader_path/.dylibs/libswscale.5.3.100.dylib (compatibility version 5.0.0, current version 5.3.100)
        @loader_path/.dylibs/libavresample.4.0.0.dylib (compatibility version 4.0.0, current version 4.0.0)
        /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0)
        /System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation (compatibility version 1.0.0, current version 2.0.0)
        /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 1070.22.0)
        /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0)
        /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.11.0)
        /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)
        /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1504.82.104)
        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1349.64.0)
        /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1349.63.0)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

from opencv-python : opencv-python

$ otool -L venv/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so
venv/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so:
        /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL (compatibility version 1.0.0, current version 1.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2)
        @loader_path/.dylibs/libavcodec.58.35.100.dylib (compatibility version 58.0.0, current version 58.35.100)
        @loader_path/.dylibs/libavformat.58.20.100.dylib (compatibility version 58.0.0, current version 58.20.100)
        @loader_path/.dylibs/libavutil.56.22.100.dylib (compatibility version 56.0.0, current version 56.22.100)
        @loader_path/.dylibs/libswscale.5.3.100.dylib (compatibility version 5.0.0, current version 5.3.100)
        @loader_path/.dylibs/libavresample.4.0.0.dylib (compatibility version 4.0.0, current version 4.0.0)
        /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
        /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0)
        /System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation (compatibility version 1.0.0, current version 2.0.0)
        /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 1070.22.0)
        /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0)
        /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.11.0)
        @loader_path/.dylibs/QtGui (compatibility version 4.8.0, current version 4.8.7)
        @loader_path/.dylibs/QtTest (compatibility version 4.8.0, current version 4.8.7)
        @loader_path/.dylibs/QtCore (compatibility version 4.8.0, current version 4.8.7)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)
        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1349.64.0)
        /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1349.63.0)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

I did read that the headless can be used if your code is not calling cv2.imshow(...) . 我确实读过,如果您的代码未调用cv2.imshow(...) ,则可以使用无头代码。 I am going to investigate further because the the windows version doesn't ship with the qt binaries and doesn't have the same problem 我将进一步调查,因为Windows版本不附带qt二进制文件,并且没有相同的问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用张量流时出现ImportError:dlopen(/usr/local/lib/python3.6/site-packages/cv2/cv2.cpython-36m-darwin.so,2) - getting ImportError: dlopen(/usr/local/lib/python3.6/site-packages/cv2/cv2.cpython-36m-darwin.so, 2) when working with tensor flow 导入cv2:importError:dlopen…原因:找不到图像 - import cv2: importError: dlopen… reason: image not found 在 django ImportError: libGL.so.1 上导入 cv2 错误 - import cv2 error on django ImportError: libGL.so.1 无法从“cv2.cv2”(/usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-x86_64-linux-gnu.so)导入名称“_registerMatType” - cannot import name '_registerMatType' from 'cv2.cv2' (/usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-x86_64-linux-gnu.so) ImportError 在 python 上导入 cv2 - ImportError to import cv2 on python 导入错误:没有名为 cv2 的模块 - ImportError: No module named cv2 ImportError:没有名为cv2的模块 - ImportError: No module named cv2 cv2 的 ImportError 与 virtualenv 中的走狗 - ImportError for cv2 with lackey in a virtualenv Python-opencv错误导入cv2 ImportError:更新OS X El Capitan后的dlopen - Python-opencv Error import cv2 ImportError: dlopen after update of OS X El Capitan cv2.so上的ImportError - ImportError on cv2.so
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM