当前位置: 首页 > 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里边声明或者已经赋值过的对象或者数组(数组里…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制&#xff0…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...