windows10 win10 pyside6 vscode 安装与配置

近期有在windows上做个简单UI软件的需求,选择python编程语言 和 pyside6制作交互UI,vscode做IDE。有的博主推荐pycharm,我用着有顾虑,code。参考我之前的测试流程和几个网络博主的blog,做基本环境搭建。

记录过程如下,以作参考:

总览:

一、基本环境准备

二、安装

2.1 python (使用miniconda)

2.2 安装pyside6

2.3 安装vscode

2.4 安装python3打包程序

三、测试例程

一、基本环境准备

1.1 简述

在windows10上,使用python语言,设计UI软件,使用pyside6库,IDE使用vscode,最后还要使用pyinstaller将py代码打包成exe执行文件。

windows上没有自带python,想要使用python需要单独安装。python的一些库、包、插件等是直接安装在python文件夹里的,不通版本的会互相冲突,有时会出现异常。一旦出问题要重新装。因此,使用到一定阶段会有想要几个互不影响的python的想法。这里使用Anaconda作为python环境管理软件,它可以单独创建互不干扰的python,原内核还保持纯净,随时可以创建python环境,减少不同项目之间的干扰。Miniconda是Anaconda的简化版,在需要的库不多的时候可以事情轻量化的Miniconda。

python安装(创建环境)完成、pyside6安装完后,vscode需要修改相关设置才能使用上刚刚安装的功能。

最后使用pyinstaller将py脚本(代码)打包成一个exe文件。

二、安装

windows有个检索工具叫everything,后续要用到,提前安装。也可以安装uTools,然后使用Alt+空格打开工具框进而调用everything来检索。

2.1 安装python,miniconda

2.1.1 下载、安装

地址https://repo.anaconda.com/miniconda/,我下载的是这个版本,python3.13

双击安装没什么可说的,我装在D盘根目录了。

安装后,在开始菜单能找到Anaconda Prompt应用控制台。在这里使用conda的相关命令来处理相关python环境问题。看到第一样 最左边有(base),说明当前激活的环境是base。base是最核心的环境,我通常不在这里安装任何包,都是创新新的环境,在新环境里操作。

conda env list ,使用此命令查看所有存在的环境。目前应该是只有一个base,并且标识了他的位置。

2.1.2 创建环境

复制代码
conda create -n py-easy python=3.13

我创建了一个 py-easy 的测试python环境,版本为3.13,创建后 conda env list结果变成:

新创建的环境能看到了,但是被存储在C盘用户文件夹下了,我目前不会改,过后再研究。

目前激活的是base,如果安装和卸载包是对base的操作,需要切换

conda activate py-easy,将激活环境切换到py-easy,如下图

如果使用的是PowerShell Prompt,就是多了PS,其余都和Prompt一样。

2.2 安装pyside6

2.2.1 安装

切换py-easy后,使用 pip install pyside6,安装。没用pip3,也没用清华源,不理它,干别的去了,回来也装好了。

指定源的命令也可以试试。

复制代码
pip3 install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple 

2.2.2 打开designer

没添加环境变量情况下,不能直接命令行打开,使用uTools检索designer,点击"文件检索"俺就来查找具体路径。

改为designer.exe后,有3个结果,一个收我自己创建的桌面快捷方式。打开designer.exe,能正常打开就行。

打开后,这样子就行,直接关闭,进行下一步。

2.3 安装vscode

2.3.1 安装vscode

官网下载安装包,双击安装

2.3.2 安装3个插件,2个python。一个pyqt

Python,Python debugger,都是python编程用的

解释器选择 【2.1.2】里创建的环境的路径,这是我的路径,要填入自己的。

C:\Users\user\.conda\envs\py-easy\python.exe。

然后是PYQT Integration插件

2.3.3 配置PYQT Integration插件

需要配置4个,Pylupdate:Cmd,Pyrcc:Cmd,Pyuic:Cmd,Qtdesigner:Path。

这里有个问题,需要填入的是需要使用的python环境的程序绝对路径,不是当前解释器的相对路径,更换解释器需要修改。我也不会使用相对路径,下面是我的路径,需要填入自己的。

C:\Users\user\.conda\envs\py-easy\Scripts\pyside6-lupdate.exe

C:\Users\user\.conda\envs\py-easy\Scripts\pyside6-rcc.exe

C:\Users\user\.conda\envs\py-easy\Scripts\pyside6-uic.exe

C:\Users\user\.conda\envs\py-easy\Lib\site-packages\PySide6\designer.exe

找不到的使用everything查找。

2.4 安装python3打包程序

我也没更换源,直接安装,也不慢。

bash 复制代码
pip3 install pyinstaller

打包后,将源码打包成一个完整的可执行文件,有2中方式:

  • pyinstaller xxx.py,生成执行文件,附带一个文件夹

  • pyinstaller -F xxx.py, 合成一个,单个文件在其他机器上可运行

  • pyinstaller -F -w xxx.py, 合成一个,单个文件在其他机器上可运行,禁止控制台显示

注意:窗体UI程序,使用-w来禁止控制台的显示。但是先不禁止,控制台可以显示错误信息,没错误最后再使用-w来禁止控制台,只显示窗体。

三、测试例程

测试代码和过程都和我上一个blog一样,亲测,效果完全一样。

3.1 基本测试

vscode打开文件夹,空白处右键,菜单里出现PYQT(插件通用的)的选项,空白文件夹只有新建,有UI后会有新建、修改和编译。

点击后,打开了Qt designer,创建一个widget,随便填几个控件

保存到ui文件(例如命名为ui.ui)以后,右键ui.ui,编译,会生成Ui_ui.py,里面创建了窗口类。

新建一个py文件,例如testwidget.py,python语言。pyside6的基本调用结构,与pyqt是一样的。类Ui_Form就是之前绘制的窗口类。

python 复制代码
'''
 testwidget.py
'''

from Ui_ui import Ui_Form
from PySide6.QtWidgets import QApplication, QWidget


class MyWindow(QWidget, Ui_Form):
    def __init__(self):
        super().__init__()
        self.setupUi(self)


if __name__ == '__main__':
    app = QApplication([])
    win = MyWindow()
    win.show()
    app.exec()

运行testwidget.py,效果如下,成功运行~~。窗体没改,所以不用重新编译窗体。

3.2 试试信号和槽功能

窗口内控件名称都是默认的,修改testwidget.py

python 复制代码
'''
 testwidget.py
'''

from Ui_ui import Ui_Form
from PySide6.QtWidgets import QApplication, QWidget


class MyWindow(QWidget, Ui_Form):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.count = 0
        self.bind()
    
    def bind(self):
        self.pushButton.clicked.connect(self.setshowtext)
        self.pushButton.clicked.connect(self.increasecount)
        self.dial.valueChanged.connect(self.setshowvalue)
    

    def setshowtext(self):
        self.label.setText('Hello pyside6! ' + str(self.count))

    def increasecount(self):
        self.count = self.count + 1
    
    def setshowvalue(self):
        self.lcdNumber.display(self.dial.value())


if __name__ == '__main__':
    app = QApplication([])
    win = MyWindow()
    win.show()
    app.exec()

运行之后,点击按钮,右边label出现文本及点击次数;转动旋钮,右边LCD显示对应数字。

功能完善~~

3.3 测试打包

3.3.1 环境变量

使用pyinstall进行打包,pyinstall不能默认再cmd里执行,要先添加环境变量。还是使用everything查找pyinstaller的位置,将它的所属文件夹路径添加进环境变量Path中。如图的最后一行。

3.3.2 在cmd中使用命令行打包

回到代码文件夹,鼠标点击地址栏,路径被选中,然后直接输入cmd,cmd就会切换到当前文件夹,就可以命令行处理当前文件夹下的文。

cmd内输入:

bash 复制代码
 pyinstaller -F testwidget.py 

一顿乱七八糟的消息闪过,多了个dist文件夹,里面有个exe文件,运行后确实会带个命令行。测试正常后关闭。

cmd内输入如下命令,这次使用-w禁用命令行:

bash 复制代码
 pyinstaller -F -w testwidget.py 

结果如所想,拷贝到其他windows10电脑上时候,正常!

pyinstaller还有其他功能,比如修改打包后的名字,后续钻研。

完结撒花~~~~~~~~~~~~~~~~~

参考的blog地址:

miniconda:

https://blog.csdn.net/Hahafantuan/article/details/149864604

ubuntu pysicode vscode:

https://blog.csdn.net/qq_38089394/article/details/136578957?spm=1001.2014.3001.5502

windows vscode pyside6:

https://blog.csdn.net/m0_73062138/article/details/147293973

windows pyinstaller

https://blog.csdn.net/qq_41340996/article/details/120255932

相关推荐
时空无限1 天前
mac 如何用命令行操作 vscode 打开哪个文件夹
ide·vscode·macos
MarsBighead1 天前
VSCode Python 调试故障排查:`justMyCode` 配置项引发的血案
ide·vscode·python
R_.L1 天前
【云服务器】VSCode连接云服务器
服务器·vscode
刺心疯1 天前
VScode集成openClaw使用OpenClaw Node for VS Code插件(右键没有openClaw)
vscode·编辑器
tigerlib1 天前
vscode python环境调试,不能调到环境内部,怎么解决
ide·vscode·python
xiaobobo33301 天前
vscode的if结尾提示插件“If End Marker”实现了if结尾提示功能
vscode·插件·if结尾提示·if end marker
硬汉嵌入式1 天前
Clion 2026.1发布,集成AI,支持导入VSCode项目,支持TCP DAP调试等
vscode·编辑器·clion
从零点1 天前
如何在VSCode安装stm32的开发环境
ide·vscode·stm32
nongcunqq1 天前
离线下载 vscode 插件 chrome 插件 docker镜像
ide·vscode·编辑器
yeziyfx2 天前
vs code 使用Git拉取/克隆(clone)仓库项目
git·vscode