利用auto-py-to-exe库的简单图形界面实现.py到.exe的转换

文章目录

  • 1. auto-py-to-exe 简介
  • 2. 安装与使用
  • 3. 配置项介绍
  • 4. 打包完成


1. auto-py-to-exe 简介

运行 .py 文件需要配套相应的 Python 解释器和相关的依赖项,而很多时候我们会面临光有待演示的 .py 程序,而没有支持演示的环境的尴尬。一种解决办法就是,将 .py 文件及其依赖的内容打包成可执行文件 .exe,这样,就算用户电脑没有安装Python相关环境,也能够成功运行代码。

Python有一个专门的库 pyinstaller,能够将Python应用程序及其所有依赖项捆绑到一个包中,关于 PyInstaller 的详细文档见:https://pyinstaller.org/en/stable/。

但是,关于 PyInstaller 的使用有许多可配置的参数选项,对于不熟悉该库或者不了解该库的参数配置的用户而言,其实操作起来有些许不便。对此,Brent Vollebregt 在 GitHub 上分享了一个基于 PyInstaller 开发的具有简单的用户界面的工具库 auto-py-to-exe,该工具库能够通过用户界面配置转化参数,然后该工具会自动将配置的参数识别为 PyInstaller 的命令,其实就是简化了写 PyInstaller 命令的过程。

2. 安装与使用

安装 auto-py-to-exe 库之前,安装的 Python 版本最好为 3.6 - 3.12,这是由于安装 auto-py-to-exe 时会自动适配 PyInstaller 的版本(PyInstaller>=5.8.0),而 PyInstaller 从 4.0 版本开始(目前为 6.4),就不再支持 Python2.7,除非手动指定 PyInstaller 的版本。因此最好按照官方建议的 Python 版本。

而安装 auto-py-to-exe 库可以直接在命令提示符中用 pip 进行安装:

pip install ayto-py-to-exe

或者是下载项目源文件之后,通过 setup.py 文件进行安装。

python setup.py install

项目仓库地址:https://github.com/brentvollebregt/auto-py-to-exe.git

而运行并打开该库只需要在终端界面输入 auto-py-to-exe 并回车即可,弹出的界面如下。

使用该库转化.py文件的流程为:

  1. 选择待转换的脚本文件
  2. 点选相应配置项
  3. 点击底部有 CONVERT .PY TO .EXE 字样的按钮进行转换
  4. 在 OUTPUT 文件夹中找到转换后的文件

3. 配置项介绍

在打开的用户界面上,有若干待配置的内容,分别为:

(1)Script Location 待转换脚本

此处是选择待打包的 Python 程序。

在未选择时,该选项框呈现红色,选定后框颜色转为蓝色。选择文件时不能选择文件夹,若程序有其他的依赖文件,则在下面进一步配置。

(2)Onefile 指定输出内容

选定输出的内容是一个文件夹形式,还是单独的一个 exe 文件的形式。

如果选择输出文件夹,则会输出一个与Python程序同名的文件夹,文件夹下包含的 .exe 不能脱离文件夹而单独使用。

(3)Console Window 控制台显示设置

设置该选项时,可以控制运行打包程序时是否显示控制台。有两个模式的选项:

  • Console Based:当打包的程序运行时会显示控制台界面(如果程序中需要打印信息,则会输出到控制台,.exe 程序运行结束时,控制台会关闭,可以用 time.sleep(停留时间) 来保持控制台的显示);
  • Window Based (hide the console):隐藏控制台,这一般是用于带有 GUI 的Python程序,此时不需要查看打印信息,也不需要控制台进行交互,可以选择隐藏。

(4)Icon 配置图标(非必选)

选择一个图标文件 .ico,用于指定打包Python程序后的 .exe 图标。

(5)Additional Files(非必选)

如果需要添加文件或者文件夹至压缩后的文件处,可以配置该选项。

4. 打包完成

按照上述流程,确定好转换的脚本,以及配置好相应选项,点击 CONVERT .PY TO .EXE 进行转换。

在这里插入图片描述
如上图,转换结束。并给出了转换后的文件存储地址,也可以通过右下角的 OPEN OUTPUT FOLDER 按钮打开。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/438363.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RestTemplate SSL证书信任忽略 + 线程池配置 + 线程池监控

RestTemplateConfig.java RestTemplate配置类 Slf4j Configuration public class RestTemplateConfig {/*** 初始化 RestTemplate 配置线程池和SSH证书信任*/Beanpublic RestTemplate restTemplate() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementExce…

掌握计算机自动化:Pyperclip与CnOCR详细教程(最全使用方法,每行代码都有注释,帮你解决与之有关的所有问题)

文章目录 一、Pyperclip概念二、Pyperclip基础语法三、Pyperclip与文件交互四、Pyperclip生成随机密码五、OCR概念六、CnOCR 基础识别七、CnOCR 不同图片识别 在这个信息化快速发展的时代,高效的信息处理变得尤为关键。Python,作为一门强大的编程语言&am…

【C语言】linux内核dev_queue_xmit

一、中文注释 这两个函数是Linux内核网络子系统中负责发起网络包(sk_buff结构)传输的代码。下面我将用中文对这两个函数做一个简单的注释: /*** __dev_queue_xmit - 发送一个buffer* skb: 要发送的buffer* sb_dev: 子设备,用于层…

2024年最新整理腾讯云学生服务器价格、续费和购买流程

2024年腾讯云学生服务器优惠活动「云校园」,学生服务器优惠价格:轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年,轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年,CVM云服务器2核4G配置842.4元一年&…

Pytorch之神经网络最大池化层

池化层(Pooling layer)是深度学习神经网络中常用的一种层类型,它的作用是对输入数据进行降采样(downsampling)操作。池化层通过在输入数据的局部区域上进行聚合操作,将该区域的信息压缩成一个单一的值&…

面试题个人总结(面经)

自我介绍 你好,我叫XXX,是今天面试初级蓝队的人员,我毕业于XXXX,专业为网络空间安全,我曾经在XXXXX实习过,有过大概一年左右的工作经验,还有过一定的护网经验,去年在XXX厂商护过网,…

【计算机考研择校】四川大学vs电子科技大学哪个难度更大?

川大在文科,经管方面比科大强,医学在国内都很强。但工科方面特别是电子信息领域明显是科大强于川大。毕竟一个是综合大学,一个是工科大学不可同日而语。 就业上,电子科大在IT领域的社会声誉口碑不错。就业一向都很好。这个多问问…

Swin-UMamba—基于 Mamba 的 UNet 和基于 ImageNet 的预训练—论文精读和代码实践

Swin-UMamba 期刊分析摘要贡献方法Swin-UMamba整体框架1. 基于 Mamba 的 VSS 块2. 集成基于 ImageNet 的预训练3. Swin-UMamba解码器4. Swin-UMamba†:带有基于 Mamba 的解码器的 Swin-UMamba 实验代码实践 可借鉴参考 期刊分析 Swin-UMamba只是名字中含有swin&…

为什么不从独立服务器中转向云或其他方案呢?

传统的专用服务器,如香港服务器租赁、重庆服务器租赁等,是最强大、最稳定的业务托管类型之一。您将获得比任何其他托管计划更多的管理权限和卓越的性能,并且您可以控制整个服务器上的几乎所有内容。 当然,专用服务器也是在线业务…

HTML5:七天学会基础动画网页9

在进行接下来的了解之前我们先来看一下3d的xyz轴,下面图中中间的平面就相当于电脑屏幕,z轴上是一个近大远小的效果。 3d转换属性 transform 2D或3D转换 transform-origin 改变旋转点位置 transform-style 嵌套元素在3D空间如何显 …

Eclipse调试技巧 条件断点 监视

实验代码 import java.util.Scanner;public class Test {// 判断n是否为质数public static boolean isPrime(int n){if (n < 2)return false;for (int i 2; i < n; i){if (n % i 0)return false;}return true;}public static void main(String[] args){Scanner scanne…

类初步认识与对象

一&#xff0c;对于面向对象的认识 Java是一门面向对象的语言&#xff0c;一切都可以称为对象。将一个大象装进冰箱&#xff0c;甭管步骤多复杂&#xff0c;大象便是对象&#xff1b;将牛奶放进冰箱&#xff0c;牛奶便是对象&#xff1b;你我均是对像。 再比如洗一个衣服&…

JavaScript——流程控制(程序结构)

JavaScript——流程控制&#xff08;程序结构&#xff09; 流程控制就是来控制我们的代码按照什么结构顺序来执行。更倾向于一种思想结构。 流程控制分为三大结构&#xff1a;顺序结构、分支结构、循环结构 1、顺序结构 ​ 代码从上往下依次执行&#xff0c;从A到B执行&#x…

Java毕业设计 基于SpringBoot vue 疫苗咨询与预约系统

Java毕业设计 基于SpringBoot vue 疫苗咨询与预约系统 SpringBoot vue 疫苗咨询与预约系统 功能介绍 用户前端&#xff1a;首页 图片轮播 疫苗信息 条件查询 疫苗详情 点我收藏 评论 接种疫苗 疫情资讯 资讯详情 资讯评论 论坛交流 发布帖子 公告信息 公告详情 留言反馈 登录…

arm架构服务器使用Virtual Machine Manager安装的kylin v10虚拟机

本文中使用Virtual Machine Manager安装kylin v10的虚拟机 新建虚拟机 新建虚拟机 选择镜像&#xff0c;下一步 设置内存和CPU&#xff0c;下一步 选择或创建自定义存储&#xff08;默认存储位置的磁盘空间可能不够用&#xff09; 点击管理&#xff0c;打开选择存储卷页…

[linux]shell脚本语言:变量、测试、控制语句以及函数的全面详解

一、shell的概述 1、shell本质是脚本文件&#xff1a;完成批处理。 shell脚本是一种脚本语言&#xff0c;我们只需使用任意文本编辑器&#xff0c;按照语法编写相应程序&#xff0c;增加可执行权限&#xff0c;即可在安装shell命令解释器的环境下执行。shell 脚本主要用于帮助开…

【软件测试】如何申请专利?

一、专利类型 在软件测试领域&#xff0c;可以申请发明专利、实用新型专利和外观设计专利。其中&#xff0c;发明专利是最常见的专利类型&#xff0c;它保护的是软件测试方法、系统和装置等技术方案。 二、申请专利的条件 申请专利需要满足新颖性、创造性和实用性三个条件。…

饮料换购 刷题笔记

直接开个计数器mask 每当饮料现存数-1&#xff1b; cnt;且mask; 一旦mask达到3 饮料现存数 计数器清零3 代码 #include <iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int main(){ int n; …

【AIGC】如何提高Prompt准确度

前言 随着人工智能的迅猛进展&#xff0c;AIGC&#xff08;通用人工智能聊天工具&#xff09;已成为多个行业中不可或缺的自然语言处理技术。Prompt作为AIGC系统的一项关键功能&#xff0c;在工具的有效运作中发挥了举足轻重的作用。本篇文章将深入探讨Prompt与AIGC之间的紧密…

迭代器失效问题(C++)

迭代器失效就是迭代器指向的位置已经不是原来的含义了&#xff0c;或者是指向的位置是非法的。以下是失效的几种情况&#xff1a; 删除元素&#xff1a; 此处发生了迭代器的失效&#xff0c;因为erase返回的是下一个元素的位置的迭代器&#xff0c;所以在删除1这个元素的时候&…