几个经验教训
Mac M1 直接安装python,最小版本3.8以上,3.8以下需要特殊手段
Mac M1 pyqt5 python智能python3.9,3.10,3.11
言归正传:
1 安装环境
macpro m1
miniconda3
python3.9
vscode,
直接使用pip install pyqt5不行。所以需要使用brew安装。
1. 通过 HomeBrew 安装 PyQt5
brew install pyqt@5
2. 查看 /opt/homebrew/opt 有无pyqt@5
3.把对应内容copy到conda对应python环境中
cp -r /opt/homebrew/Cellar/pyqt@5/5.15.9/lib/python3.9/site-packages/* /Users/chinaai/opt/miniconda3/envs/py39pyqt5/lib/python3.9/site-packages4
4.测试是否成功
import sys
from PyQt5.QtWidgets import QWidget, QApplication
app = QApplication(sys.argv)
widget = QWidget()
widget.resize(600, 400)
widget.setWindowTitle("PyQt5测试窗体")
widget.show()
sys.exit(app.exec())
5.可能错误处理:
Traceback (most recent call last):
File "/Users/chinaai/VSCode/codeStudy/labelImg-master/test.py", line 3, in <module>
from PyQt5.QtWidgets import QWidget, QApplication
ImportError: dlopen(/Users/chinaai/opt/miniconda3/envs/py39pyqt5/lib/python3.9/site-packages/PyQt5/QtWidgets.abi3.so, 0x0002): Library not loaded: '@loader_path/../../../../../../../opt/qt@5/lib/QtWidgets.framework/Versions/5/QtWidgets'
Referenced from: '/Users/chinaai/opt/miniconda3/envs/py39pyqt5/lib/python3.9/site-packages/PyQt5/QtWidgets.abi3.so'
Reason: tried: '/Users/chinaai/opt/miniconda3/envs/py39pyqt5/lib/python3.9/site-packages/PyQt5/../../../../../../../opt/qt@5/lib/QtWidgets.framework/Versions/5/QtWidgets' (no such file), '/Library/Frameworks/QtWidgets.framework/Versions/5/QtWidgets' (no such file), '/System/Library/Frameworks/QtWidgets.framework/Versions/5/QtWidgets' (no such file)
Reason: tried: '/Users/chinaai/opt/miniconda3/envs/py39pyqt5/lib/python3.9/site-packages/PyQt5/../../../../../../../opt/qt@5/lib/QtWidgets.framework/Versions/5/QtWidgets' (no such file),
这里提示找不到可参照的文件,为什么这样参照不明白,但是
/Users/chinaai/opt/miniconda3/envs/py39pyqt5/lib/python3.9/site-packages/PyQt5
cd .. 执行7次,目录退回/Users/chinaai/
和引用的位置不一致,实际应该引用/opt/homebrew/opt 下面的qt@5
解决方法:
通过软连接,引用到对应目录。
ln -s /opt/homebrew/opt /Users/chinaai/opt
执行测试程序,成功,pyqt画面显示