首页 > 解决方案 > 在 MacOSX Mavericks 上使用 PyQt5、Python3 和 Anaconda3 出现问题

问题描述

我特别想向在 Mac OSX 上使用 Python 开发的人提供反馈。

我开发了一个在 GNU / Linux 和 Windows 下运行良好的应用程序(我已经使用 PyInstaller 在两个系统下创建了应用程序的可执行文件)。

我已经虚拟化(使用 VirtualBox)一个 OSX Mavericks(更新到版本 10.9.5),因为我还想在这个系统下分发我的软件。

我安装了 Miniconda(使用 Python 3.7.1 和......其中包括模块 PyQt5 -> pyqt-5.9.2)。我为我的应用程序设置了一个虚拟环境,我可以放心地访问(顺便说一下,Anaconda 真的很棒)。

不过,我在导入 QtGui 和 QtCore 时遇到问题(Mac OSX 上的 QtCore 似乎存在很大问题):

    (apsc) Mac-Pro-de-angelo:apsc angelo$ python apsc_gui.py
Traceback (most recent call last):
  File "apsc_gui.py", line 11, in <module>
    from moteur_apsc.exec_pdfkit_seq_prof_gui import APSC_Sequence_Prof
  File "/Users/angelo/miniconda3/envs/apsc/moteur_apsc/exec_pdfkit_seq_prof_gui.py", line 27, in <module>
    from affichage_apsc.push_button_icone_droite import PushButtonIconeDroite
  File "/Users/angelo/miniconda3/envs/apsc/affichage_apsc/push_button_icone_droite.py", line 10, in <module>
    from PyQt5.QtCore import Qt
ImportError: dlopen(/Users/angelo/miniconda3/envs/apsc/lib/python3.7/site-packages/PyQt5/QtCore.so, 2): Symbol not found: _LSCopyDefaultApplicationURLForURL
  Referenced from: /Users/angelo/miniconda3/envs/apsc/lib/libQt5Core.5.dylib
  Expected in: /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
 in /Users/angelo/miniconda3/envs/apsc/lib/libQt5Core.5.dylib
(apsc) Mac-Pro-de-angelo:apsc angelo$

如果我只是通过终端导入QtGui,问题是一样的:

Mac-Pro-de-angelo:bin angelo$ conda activate apsc
(apsc) Mac-Pro-de-angelo:bin angelo$ python
Python 3.7.1 (default, Dec 14 2018, 13:28:58) 
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda custom (64-bit) on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from PyQt5 import QtGui
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/Users/angelo/miniconda3/envs/apsc/lib/python3.7/site-packages/PyQt5/QtGui.so, 2): Symbol not found: _LSCopyDefaultApplicationURLForURL
  Referenced from: /Users/angelo/miniconda3/envs/apsc/lib/libQt5Core.5.dylib
  Expected in: /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
 in /Users/angelo/miniconda3/envs/apsc/lib/libQt5Core.5.dylib
>>>

你能帮我解决这个问题和/或确切地知道发生了什么吗?

提前感谢您能给我的所有帮助。

晚上好。

标签: python-3.xmacospyqt5

解决方案


我会开始检查你是否LaunchServices有这个符号

nm /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices | grep _LSCopyDefaultApplicationURLForURL

是否有可能使用更新版本的 OSX 编译 QtGui?


推荐阅读