一、远程环境安装
平台:ubuntu 22.04
ssh客户端:MobaXterm
安装指令:pip3 install PyQt5
二、本地pycharm配置使用远程解释器
-
pycharm打开ssh界面
-
ssh登录
-
在服务器上运行以下指令确认新建环境的路径:
conda env list
在本地pycharm窗口中配置解释器:File→Settings→Project:*→Python Interpreter
增加新解释器:SSH Interpreter
设置IP地址和端口号→登录
-
选择解释器路径和项目文件夹同步路径
-
解释器路径选择
-
同步文件夹路径选择
- 在项目中选择该解释器便可以在服务器上运行代码
- 在pycharm中查看服务器文件夹树的方法
tools→deployment→Browse remote host
- 最好在本地安装PyQt5-tools,便于使用ui绘制工具和ui转py工具,安装及配置流程详见:https://zhuanlan.zhihu.com/p/162866700
安装指令:pip install PyQt5-tools
安装后在pycharm中配置外部工具:
之后可以通过右键菜单启动相应工具,
注意图示pyuic的设置需要在选中相应.ui文件后运行,将自动生成一个同名的.py文件
三、基本开发流程
- 使用Qt Designer绘制图形界面,并按需编辑预期的参数,保存得到
.ui
文件 - 使用pyuic导出
.py
文件,获取Ui_MainWindow
类 - 新建自己的Main文件,导入上一步的
Ui_MainWindow
类,编写运行逻辑
四、 基本代码运行
示例代码:
from PyQt5 import QtCore, QtGui, QtWidgets
# 使用designer制作ui生成的.py文件
from gui_dataset_builder import Ui_MainWindow
import sys
class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(mywindow, self).__init__()
self.setupUi(self)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = mywindow()
window.show()
sys.exit(app.exec_())
问题处理:
- 问题:libGL.so.1: cannot open shared object file: No such file or directory
解决方案:sudo apt-get update && apt-get install libgl1
- 问题:qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “” even though it was found.
解决方案:
sudo apt-get install libxcb*
sudo apt-get install libxkb*
sudo apt-get install libfontconfig1
- 问题:qt.qpa.xcb: could not connect to display
解决方案:
# 执行指令获取显示端口:
echo $DISPLAY
# 在pycharm的配置文件中增加环境变量,其值为上一步获取的端口地址:
DISPLAY=localhost:10.0 或 DISPLAY=192.168.2.7:0.0
注:
若echo $DISPLAY
指令执行后无返回,则查看MobaXterm窗口右上角的X服务器信息,找到本地显示端口,编辑文件/etc/profile
,将export DISPLAY=:192.168.2.7:0.0
(值为自己的本地显示端口)添加到末尾并保存,再执行source /etc/profile
使配置生效,后续调试时需保持MobaXterm的X server也处于开启状态