python-3.x - 在 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
>>>
你能帮我解决这个问题和/或确切地知道发生了什么吗?
提前感谢您能给我的所有帮助。
晚上好。
解决方案
我会开始检查你是否LaunchServices
有这个符号
nm /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices | grep _LSCopyDefaultApplicationURLForURL
是否有可能使用更新版本的 OSX 编译 QtGui?
推荐阅读
- git - 一个使用 Azure DevOps 的 git 存储库中的多个“大师”
- visual-studio - 在 Visual Studio 2015 中使用 VisualSVN 双击查看未决更改的差异
- ios - 试图将整数数据从 Firebase 捕获到一个数组中,然后对所有元素求和
- database - 从 Ravendb 加载特定类型的所有对象并使用 include 加载相关文档
- c# - 遍历 WPF Grid 中的特定行
- angular - 离子CORS问题
- python - 修改 mrp_production.py 文件 odoo 后找不到字段
- xsd - 带有标签名称的 XSD 可选元素
- java - 为什么@resource 可以找到所有类都实现了一个接口并将它们作为列表注入
- java - 在 JBoss 上运行的 AKS 应用程序的 IntelliJ 中调试无故断开连接