第一次尝试写记录,写的不好还有望包涵哈~
配置介绍
m2芯片
MacOS 14.1(Sonoma)
python版本:3.11(miniconda创建)
pycharm 2023.2
使用brew下载pyqt
Homebrew和miniconda的安装略过
因为学习需要得装pyqt
最开始仿照在Windows下的操作,直接pip安装pyqt5,没想到这招在mac下行不通,在安装pytq-tools时一直报错metadata-generation-failed
又尝试在Pycharm中的“软件包管理”中直接安装又发现一直装不上,可能是网络原因吧
最关键是在配置QtDesigner时找不到Designer.app在哪
最后看到还能用Homebrew安装,死马当活马医了,没想到成功了
在这过程中看到mac python3.9安装pyqt5、qt5、pyqt5-tools这篇文章里提到建议ARM直接上pyqt6不建议折腾pyqt5,pyqt6原生支持arm无需转译,这个有空再试试
还有我配置后仅仅简单加了个button测试了下,不确定以后用上更复杂的功能会不会报错
安装过程参考了:
记录一次完整的Macm1安装pyqt5的经历
MAC 在pycharm中安装PyQt工具
配置QtDesigner参考了:
PyQt5-Mac安装和使用
一、Homebrew安装Pyqt5
先update一下brew
brew update
安装PyQt5
brew install pyqt@5
有看到有的文章里还有brew install qt@5,我在装pyqt@5时已经顺便安装了就没再执行一步了

待安装完成后进入brew的Cellar目录(/opt/homebrew/Cellar )就能看qt@5和pyqt@5两个文件夹了

进入 pyqt@5 —> 5.15.10 —> lib
(完整路径:/opt/homebrew/Cellar/pyqt@5/5.15.10/lib)
会发现有多个py版本的文件夹
我的python环境是3.11,所以只会用到这里面3.11这个版本的

二、拷贝文件到conda环境中
接下来需要把brew中下载的文件拷贝一份到已经创建好的conda环境中,
我的目标环境名是ymy311python版本是3.11

目标环境的site-packages路径为
/Users/y-mac/miniconda3/envs/ymy311/lib/python3.11/site-packages
1.拷贝 site-packages
打开brew中Cellar下pyqt@5中对应版本的文件夹的site-packages文件夹
/opt/homebrew/Cellar/pyqt@5/5.15.10/lib/python3.11/site-packages
能看到如下几个文件夹

将这里面的所有文件夹复制到conda目标环境中
/Users/y-mac/miniconda3/envs/ymy311/lib/python3.11/site-packages

2.拷贝qt@5
这一步是为配置QtDesigner做准备,原本打算在pycharm中添加外部工具时直接打开brew的Cellar目录直接调用qt@5目录下的Designer.app,但是pycharm中是看不到/opt目录的,虽然设置下opt权限应该能看到,但我懒得设置了,直接把要用的整个文件夹拷到目标环境中
将brew下Cellar文件夹下的qt@5拷贝到目标环境的site-packages中

具体点就是把
/opt/homebrew/Cellar/qt@5
拷贝到
/Users/y-mac/miniconda3/envs/ymy311/lib/python3.11/site-packages/

三、PyCharm中的设置
解释器配置的是conda的环境,这里的解释器是上文提到的ymy311,配置过程略过
先随便创建一个项目,指定一个conda环境为解释器

依次打开 设置–> 工具–> 外部工具

在外部工具中点击"+"添加

设置如下:
程序一栏写刚刚拷贝至site-packages里的qt@5中的libexec/Designer.app
这里我一开始尝试从跳出来的访达窗口中选择,但是我双击了目录下Designer.app后还有下一级,索性直接关闭访达窗口,直接写路径
我的Designer.app路径是:
/Users/y-mac/miniconda3/envs/ymy311/lib/python3.11/site-packages/qt@5/5.15.10_1/libexec/Designer.app
工作目录填:
$FileDir$

接着创建pyuic
配置如下
程序我填的是目标环境的python
/Users/y-mac/miniconda3/envs/ymy311/bin/python3.11
实参:
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
工作目录:
$FileDir$


完成后点 应用 --> 确定
四、测试
从上方工具栏中依次打开
工具 --> 外部工具 --> QtDesigner

随便试试

从左边窗口拖一个button进窗口

左上角保存一下,随便找个地方存着

关闭Designer,回到pychram,就能看见刚刚创建的ui了

单击 创建好的ui --> 上方工具栏 “工具” --> 外部工具 --> PyUIC5

成功执行后,就能在项目那看见一个py文件
打开py文件,再末尾加上下面的代码
代码来源:PyQt5-Mac安装和使用
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox,QInputDialog,QFileDialog
if __name__ == '__main__':
myApp = QApplication(sys.argv)
myWin = QMainWindow()
myUI = Ui_MainWindow()
myUI.setupUi(myWin)
myWin.show()
sys.exit(myApp.exec_())

运行py代码
就能看到刚刚创建的窗体了

本文详细描述了在M2芯片的MacOS14.1(Sonoma)上,使用Homebrew安装Pyqt5以及将其复制到conda环境中,并配置PyCharm以使用QtDesigner的过程。作者还探讨了pyqt6作为替代选项的可能性。
351

被折叠的 条评论
为什么被折叠?



