当前位置: 首页 > news >正文

python生成exe脚本全过程

python生成exe脚本全过程

  • 1、定义设计的GUI界面
  • 2、几个GUI界面常用函数
    • 2.1 tk.Label
    • 2.2 tk.StringVar
    • 2.3 tk.Entry
    • 2.4 tk.Button
    • 2.5 tk.Text
    • 2.6 tk.Scrollbar
  • 3、实例
    • 3.1 需求
    • 3.2实现
  • 4、如何使用pycharm生成可执行exe文件
    • 4.1安装pyinstaller
    • 4.2 生成exe文件
  • 5、生成exe过程中遇到各种各样的问题咋办
    • 5.1 遇到报错的,检查代码解决问题
    • 5.2 遇到warning和各种依赖问题的,版本问题的
      • 5.2.1 新建环境
      • 5.2.2 使用pip安装所需的库

1、定义设计的GUI界面

python中要定义属于自己的GUI界面,所用的第三方库为tkinter
总体代码框架是这样的

import tkinter as tkclass ToolWindow(tk.Tk):def __init__(self):if __name__ == '__main__':ToolWindow().mainloop()
# 使用mainloop()函数循环运行GUI界面中所定义好的功能

2、几个GUI界面常用函数

2.1 tk.Label

tk.Label是Tkinter库提供的一个控件,用于在GUI界面中显示文本或图像。
该函数的作用只是用来显示txt文本的。

2.2 tk.StringVar

tk.StringVar是Tkinter库提供的一个变量类,它用于在GUI界面中存储和管理字符串类型的数据
常用的StringVar属性和方法如下:

get():获取StringVar对象中的值。
set(value):设置StringVar对象中的值。
trace_add(callback):添加一个回调函数,当StringVar对象中的值发生变化时会调用该回调函数。

2.3 tk.Entry

tk.Entry是Tkinter库提供的一个控件,用于在GUI界面中接收用户的输入。

基本用法如下:

创建一个Entry对象,可以通过构造函数设置一些属性,例如设置输入框的宽度、密码模式等。
使用pack()、grid()或place()方法将Entry对象添加到父容器中,以便在GUI界面中显示。

2.4 tk.Button

tk.Button是Tkinter库提供的一个控件,用于在GUI界面中创建按钮。

基本用法如下:

创建一个Button对象,可以通过构造函数设置一些属性,例如按钮上的文本、点击按钮时要执行的函数等。
使用pack()、grid()或place()方法将Button对象添加到父容器中,以便在GUI界面中显示。
常用的Button属性和方法如下:

text:设置按钮上显示的文本。
command:设置按钮点击时要执行的函数。
width、height:设置按钮的宽度和高度。
padx、pady:设置按钮的内边距。
bg、fg:设置按钮的背景色和文本颜色。
relief:设置按钮的边框样式。

核心在于通过command命令关联要执行的函数。

2.5 tk.Text

tk.Text是Tkinter库提供的一个多行文本框控件,用于在GUI界面中显示和编辑多行文本。

基本用法如下:

创建一个Text对象,可以通过构造函数设置一些属性,例如文本框的宽度、高度、字体等。
使用pack()、grid()或place()方法将Text对象添加到父容器中,以便在GUI界面中显示。

2.6 tk.Scrollbar

tk.Scrollbar是Tkinter库提供的一个控件,用于为其他控件(如Text、Listbox等)提供滚动功能。

基本用法如下:

创建一个Scrollbar对象,可以通过构造函数设置一些属性,如滚动条的方向、长度等。
使用pack()、grid()或place()方法将Scrollbar对象添加到父容器中,以便在GUI界面中显示。
将Scrollbar对象与需要滚动的控件(如Text、Listbox)进行关联。

ok,以上就是生成GUI界面常用的一些函数命令,了解完这些命令之后便可以开始自己实现需要的程序了。

3、实例

3.1 需求

需求是这样的,假设我有一个csv文件,其中有2列数据,一列是预测结果,一列是金标数据。现在要通过exe加载csv文件,计算两者的误差rmse,并且将两列数据绘制到一张图上。

3.2实现

直接上代码进行实现,详细注释包含在代码中

4、如何使用pycharm生成可执行exe文件

4.1安装pyinstaller

conda install pyinstaller

4.2 生成exe文件

pyinstaller -F -w xxxx/xxxx.py
之后便可再dist文件夹中找到所生成的exe脚本

5、生成exe过程中遇到各种各样的问题咋办

5.1 遇到报错的,检查代码解决问题

5.2 遇到warning和各种依赖问题的,版本问题的

5.2.1 新建环境

5.2.2 使用pip安装所需的库

注意,这里必须要用pip进行安装,安装完后便可成功生成exe文件。

相关文章:

python生成exe脚本全过程

python生成exe脚本全过程 1、定义设计的GUI界面2、几个GUI界面常用函数2.1 tk.Label2.2 tk.StringVar2.3 tk.Entry2.4 tk.Button2.5 tk.Text2.6 tk.Scrollbar 3、实例3.1 需求3.2实现 4、如何使用pycharm生成可执行exe文件4.1安装pyinstaller4.2 生成exe文件 5、生成exe过程中遇…...

【机器学习1】什么是机器学习机器学习的重要性

什么是机器学习? 简而言之,机器学习就是训练机器去学习。 机器学习作为人工智能(Artificial Intelligence,AI)的一个分支,以其最基本的形式来使用算法通过从数据中获取知识来进行预测。 不同于人类通过分析大量数据手动推导规则和模型,机…...

立即开始使用 3D 图像

一、说明 这个故事介绍了使用这种类型的数据来训练机器学习3D模型。特别是,我们讨论了Kaggle中可用的MNIST数据集的3D版本,以及如何使用Keras训练模型识别3D数字。 3D 数据无处不在。由于我们希望构建AI来与我们的物理世界进行交互,因此使用3…...

鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统em

​ Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目…...

《向量数据库》——怎么安装向量检索库Faiss?

装 Faiss 以下教程将展示如何在 Linux 系统上安装 Faiss: 1. 安装 Conda。 在安装 Faiss 之前,先在系统上安装 Conda。Conda 是一个开源软件包和环境管理系统,可在 Windows、macOS 和 Linux 操作系统上运行。根据以下步骤在 Linux 系统上安装 Conda。 2. 从官网…...

学习pytorch 2 导入查看dataset

学习pytorch 2 2. dataset实战代码数据集 2. dataset实战 B站小土堆视频 代码 from torch.utils.data import Dataset from PIL import Image #import cv2 import osclass MyData(Dataset):def __init__(self, root_dir, label_dir):self.root_dir root_dirself.label_dir …...

三、kubeadm部署单Master节点kubernetes集群

kubeadm部署单Master节点kubernetes集群 一、kubernetes 1.21发布 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sGgnZuno-1691633861803)(kubeadm部署单Master节点kubernetes集群 1.21.0.assets/image-20220119160108054.png)] 1.1 介绍 2021年…...

js-6:typeof和instanceof的区别

1、typeof typeof操作符返回一个字符串,表示未经计算的操作数的类型。 operand表示对象或原始值的表达式,其类型将被返回。 从上面的例子可以看出,前6个都是基础数据类型,虽然typeof null为object,但这只是javascrip…...

SQL SERVER 异地备份到远程共享文件夹异常处理

SQL SERVER 异地备份到远程共享文件夹异常处理 SQL Server 异地备份到远程共享文件夹异常处理 - 灰信网(软件开发博客聚合) -- 允许配置高级选项 EXEC sp_configure show advanced options, 1 GO -- 重新配置 RECONFIGURE GO -- 启用xp_cmdshell EXEC sp…...

服务器数据恢复-RAID5上层Hyper-V虚拟机数据恢复案例

服务器数据恢复环境: 一台Windows Server服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在一台DELL存储中。该存储中有一组由4块硬盘组建的RAID5阵列,用来存放虚拟机的数据文件,另外还有一块大容量硬盘…...

Easy Rules规则引擎(1-基础篇)

目录 一、序言二、Easy Rules介绍三、定义规则(Rules)1、规则介绍2、编程式规则定义3、声明式规则定义 四、定义事实(Facts)五、定义规则引擎(Rules Engine)1、规则引擎介绍2、InferenceRulesEngine规则引擎示例(1) 定义触发条件(2) 定义规则触发后的执行行为(3) 测试用例 一、…...

Linux 上安装部署Nacos

标题:在Linux上安装和部署Nacos Nacos是一个开源的分布式服务发现和配置管理平台,它可以帮助开发人员实现微服务架构中的服务注册、发现和动态配置管理。 步骤1:准备工作 在开始安装Nacos之前,确保您已经具备以下条件&#xff1…...

电动机的启动

1电动机启动分类 电动机启动方式包括:全压直接启动、自耦减压启动、Y-Δ 启动、软启动器、变频器。其中软启动器和变频器启动为潮流。当然也不是一定要使用软启动器和变频器启动,在运用的时候根据实际情况,从经济和适用性自行考虑选择。 2电…...

python性能分析,logging性能,print性能,文件写入性能对比

先说结论,没想到的是print性能比logging性能好,输出到控制台会极大降低程序性能,以下是我的性能对比结果: 运行情况是python后台运行并输出到日志,命令是 python3 test.py > /opt/testtime.log 2>&1 &...

[GIN-debug] [ERROR] listen tcp: address 8080: missing port in address

学习Golang_gin框架的第一天 遇到一下报错 : [GIN-debug] [ERROR] listen tcp: address 8080: missing port in address 错误代码 : package mainimport "github.com/gin-gonic/gin"func main() {router : gin.Default()router.GET("/index", func…...

PHP codeigniter4 搭配Nginx

> 主要是为了用Nginx运行PHP环境 1. Nginx 官方文档的配置 default.conf This configuration enables URLs without “index.php” in them and using CodeIgniter’s “404 - File Not Found” for URLs ending with “.php”. server {listen 80;listen [::]:80;se…...

AWS——04篇(AWS之Amazon S3(云中可扩展存储)-02——EC2访问S3存储桶)

AWS——04篇(AWS之Amazon S3(云中可扩展存储)-02——EC2访问S3存储桶) 1. 前言2. 创建EC2实例 S3存储桶3. 创建IAM角色4. 修改EC2的IAM 角色5. 连接EC2查看效果5.1 连接EC25.2 简单测试5.2.1 查看桶内存储情况5.2.2 复制本地文件…...

.netcore下grpc概述

一、什么是grpc 是一种与语言无关的高性能远程过程调用 (RPC) 框架。基于http/2标准设计,提供了头部压缩、tcp连接上的多路复用、流量控制、流式处理(客户端流/服务端流/双向流)。提供统一使用的.proto文件,它定义 grpc 服务和消…...

Address already in use

netstat -tunllp netstat -tunllp 命令是用来查看系统上所有的网络连接和监听端口,包括 TCP 和 UDP 连接。这个命令的选项含义如下: -t: 显示 TCP 连接-u: 显示 UDP 连接-n: 不进行主机名和服务名的解析,直接显示数字形式的 IP 地址和端口号…...

♥ vue中$set用法详细讲解

♥ vue中$set用法详细讲解 1、认识 在vue中,并不是任何时候数据都是双向绑定的。 官方文档介绍 使用场景 当数据没有被双向绑定的时候,我们就需要使用set了 举个例子: vue的data里边声明或者已经赋值过的对象或者数组(数组里…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

【JavaEE】-- HTTP

1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

Kafka主题运维全指南:从基础配置到故障处理

#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

基于 HTTP 的单向流式通信协议SSE详解

SSE(Server-Sent Events)详解 🧠 什么是 SSE? SSE(Server-Sent Events) 是 HTML5 标准中定义的一种通信机制,它允许服务器主动将事件推送给客户端(浏览器)。与传统的 H…...

C# WPF 左右布局实现学习笔记(1)

开发流程视频: https://www.youtube.com/watch?vCkHyDYeImjY&ab_channelC%23DesignPro Git源码: GitHub - CSharpDesignPro/Page-Navigation-using-MVVM: WPF - Page Navigation using MVVM 1. 新建工程 新建WPF应用(.NET Framework) 2.…...

【Ragflow】26.RagflowPlus(v0.4.0):完善解析逻辑/文档撰写模式全新升级

概述 在历经半个月的间歇性开发后,RagflowPlus再次迎来一轮升级,正式发布v0.4.0。 开源地址:https://github.com/zstar1003/ragflow-plus 更新方法 下载仓库最新代码: git clone https://github.com/zstar1003/ragflow-plus.…...