Python文件打包成exe可执行文件

我们平常用python写些脚本可以方便我们的学习办公,但限制就是需要有python环境才能运行。

那能不能直接在没有python环境的电脑上运行我们的脚本呢?

当然可以,那就是直接把python脚本打包成exe可执行程序(注针对win系统)

生成的exe可执行程序,我们只需要双击即可运行,不需要python环境。

那怎么把py文件打包成exe程序呢?

我们使用的打包工具是pyinstaller, 需要将这个包安装上,安装命令:

pip install pyinstaller

然后使用以下命令将其转换成 Windows 平台下的可执行文件(exe):

pyinstaller --onefile 文件名.py

若执行pyinstaller --onefile love.py时候遇到报错:

The 'typing' package is an obsolete backport of a standard 
library package and is incompatible with PyInstaller. 
Please `conda remove typing` then try again.

这是因为 PyInstaller 不支持 typing 库,而该库已经成为 Python 的标准库之一,为了避免上述错误,可以在执行 pyinstaller 命令前,执行以下命令卸载 typing 库:

pip uninstall typing

然后重新执行 pyinstaller 命令即可。

案例演示:

下面我用上篇文章中整理文件的脚本教大家如何操作。

1)首先为了使用更加灵活
我在原来脚本的基础上加上input输入来获取要整理的文件夹路径

完整代码如下,并命名为make_file:

import os
import shutildef get_file_type(file_path):# 获取文件扩展名_, file_extension = os.path.splitext(file_path)return file_extension.lower()def organize_files(input_folder):# 获取输入文件夹中的所有文件files = os.listdir(input_folder)# 遍历每个文件for file in files:# 构建文件的完整路径file_path = os.path.join(input_folder, file)# 判断是否是文件if os.path.isfile(file_path):# 获取文件类型file_type = get_file_type(file_path)# 构建目标文件夹路径target_folder = os.path.join(input_folder, file_type + '类')# 如果目标文件夹不存在,创建它if not os.path.exists(target_folder):os.makedirs(target_folder)# 构建目标文件路径target_file_path = os.path.join(target_folder, file)# 移动文件到目标文件夹shutil.move(file_path, target_file_path)# 使用示例
while True:file=input('请输入文件夹完整路径:')organize_files(file)print('文件夹整理完毕!')

2)使用效果如下:

(1)首先复制我们需要整理的文件夹路径(注:路径不要有英文)

在这里插入图片描述
(2)运行程序:

在这里插入图片描述
(3)查看我们整理后的文件夹

在这里插入图片描述
OK,确定正常并带有交互后,开始打包成exe

3)正式打包

首先通过pycharm或者命令行进入到我们要打包的py文件夹下
在这里插入图片描述
执行打包命令:

pyinstaller --onefile make_file.py

在这里插入图片描述
打包成功后就会生成dist和build文件夹

在这里插入图片描述
我们打包后的exe程序在dist中

在这里插入图片描述
可以看到已经成功打包成exe可执行程序

4)运行测试效果

我们直接把exe程序放到桌面,然后双击

在这里插入图片描述
可以看到成功运行,直接复制我们需要整理的文件路径即可整理

随便选择一个文件夹进行整理,复制路径:

在这里插入图片描述
粘贴路径

在这里插入图片描述
回车运行:

在这里插入图片描述
在这里插入图片描述
整理完毕,并进入下一次整理任务待命

OK,以上就是把python项目打包成exe可执行程序的操作,掌握了如上方法,我们就可以自己写一些脚本放置到没有python环境的电脑上使用了。

有所收益,欢迎关注,持续更新,一起进步~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是数字化工厂?

数字化工厂通常需要资金和技术支持,对大企业来说更容易投入建设。 中小企业难道就毫无机会了吗? 当然不是。中小企业也能够实现数字化工厂,只是可能需要采取不同的策略。虽然中小企业可能面临资源有限的挑战,但通过渐进式的方式和…

品牌咨询策划服务预约小程序作用是什么

对很多行业公司来说,想要在竞争激烈的市场中生存和长期发展,就需要不断完善自身服务和信息流程、规范化。品牌咨询策划公司是企业发展中重要的合作伙伴。 二者都有寻找对方的需求,尤其是对咨询策划公司来说需要不断宣传推广品牌和服务来获得…

服务器数据恢复—重装系统导致XFS文件系统分区丢失的数据恢复案例

服务器数据恢复环境: 服务器使用磁盘柜RAID卡搭建了一组riad5磁盘阵列。服务器上层分配了一个LUN,划分了两个分区:sdc1分区和sdc2分区。通过LVM扩容的方式,将sdc1分区加入到了root_lv中;sdc2分区格式化为XFS文件系统。…

2023-简单点-Python中的attr那些事-hasattr,getattr,setattr

attr hasattrgetattr语法示例使用场景 setattr语法工作原理示例注意事项 hasattr 假设有一个名为Person的类,具有name和age属性: class Person:def __init__(self, name, age):self.name nameself.age age现在创建一个Person对象,并使用h…

Avalonia中使用Prism实现区域导航功能

前言 上一篇文章我们讲了在Avalonia开发中,引入Prism框架来完成项目的MVVM迁移。本章内容将带领大家学习如何在Avalonia中使用Prism框架实现区域导航功能。如果你还不知道Avalonia中如何引入Prism框架,请看我上一篇文章:Avalonia框架下面使用…

Java静态变量和实例变量区别——面试

主要从以下几个方面来解释: 1.定义不同: 静态变量被static关键字修饰, 实例变量前则不加; 2.初始化不同: 静态变量在类加…

跨文化合作指南:与海外网红沟通的不可忽视的文化差异

随着社交媒体的飞速发展,海外网红在全球范围内崭露头角,成为品牌推广和文化传播的重要力量。然而,由于不同国家和地区存在着独特的文化差异,与海外网红进行沟通合作时,我们必须认真对待文化差异,以确保合作…

HarmonyOS学习--TypeScript语言学习(三)

本章目录如下 一、条件语句 二、迭代器 三、循环 四、函数 五、类 一、条件语句 条件语句用于基于不同的条件来执行不同的动作。TypeScript 条件语句是通过一条或多条语句的执行结果(True 或 False)来决定执行的代码块。 在 TypeScript 中&#x…

Python-赋值运算符(详解)

表示赋值 左侧为变量,右边为值 a b 10#先把10赋值给b,再把b赋值给a 相当于a 10 b 10 链式赋值,但是不推荐,一般一行一个语句,提高可读性,良好的代码风格 多元赋值: a , b 10,20 #python语…

Word使用相关——(待完善)

1.word 怎样删除分节符 2.word 怎样删除目录中的分节符 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我…

时序数据库TDengine安装及c#连接读写数据

物联网数据采集,需写入大量数据,这时就用到时序数据库来存储和快速读取 我个人使用感觉国产的开源项目TDengine,比InfluxDB操作方便很多,容易上手,支持使用SqlSugar进行数据操作,跟操作mysql数据库一样的体…

使用Selenium模拟人工操作及获取网页内容

使用Selenium抓取网页动态内容 根据权威机构发布的全球互联网可访问性审计报告,全球约有四分之三的网站其内容或部分内容是通过JavaScript动态生成的,这就意味着在浏览器窗口中“查看网页源代码”时无法在HTML代码中找到这些内容,也就是说我们…

Ps:文字操作常用快捷键

对文字的设置操作,可在工具选项栏或“字符”面板上进行。但是,如果能记住并使用快捷键,可大大提高工作效率。 设置文字颜色 Color 1、选中几个或全部文字后,除了使用工具选项栏上的“颜色”按钮,还可以使用快捷键 Alt…

Java IO流:基本概念

一、IO 概念 ・I/O 即输入 Input/ 输出 Output 的缩写,其实就是计算机调度把各个存储中(包括内存和外部存储)的数据写入写出的过程; ・java 中用 “流(stream)” 来抽象表示这么一个写入写出的功能&#…

吴恩达《机器学习》11-3-11-5:类偏斜的误差度量、查准率和查全率之间的权衡、机器学习的数据

一、类偏斜的误差度量 误差度量的关键性 之前的课程中已经提到了误差分析和设定误差度量值的重要性。评估学习算法并衡量其表现需要使用一个实数,这就是误差度量值。然而,在某些情况下,特别是当处理偏斜类时,选择正确的误差度量…

idea安装

1、下载插件 下载地址:https://plugins.zhile.io/files/ide-eval-resetter-2.1.6.zip 2、安装插件 直接下载插件 zip 包(macOS 可能会自动解压,然后把 zip 包丢进回收站) 通常可以直接把 zip 包拖进 IDE 的窗口来进行插件的安装…

如何使用Python核对文件夹内的文件

说明:日常工作中,我们经常会遇到这样的场景:核对A、B文件夹中文件的差异,找出A、B文件夹中不同部分的文件; 本文介绍如何使用Python来实现; 第一步:获取文件清单 首先,我们要获取…

Navicat 与 华为云 GaussDB 合作再升级,赋能 GaussDB 分布式数据库

2023 年第三季度,Navicat 首次支持了华为云 GaussDB 主备版数据库。经过双方团队进一步的深化合作,Navicat 完成了 GaussDB 分布式的研发适配工作,赋能 GaussDB 全域数据库产品。 GaussDB 数据库分为主备版和分布式版两种模式。主备版适用于…

软件即服务:改变传统软件交付模式的革命性商业模式

Software as a Service (SaaS)是一种流行的商业模式,它允许软件开发商通过互联网向用户提供软件服务,用户无需购买和维护软件本身。这种模式具有许多优势,包括降低成本、提高效率、增强安全性等。本文将探讨SaaS商业模式的概念、优势、应用和…

Spingboot 之spring-boot-starter-parent与spring-boot-dependencies区分

在创建spring boot工程时,spring-boot-starter-parent 和 spring-boot-dependencies是二选一的关系,在pom中引入其中一个就可以了。 那么什么时候用spring-boot-starter-parent 和 spring-boot-dependencies呢?从字面名称上看,如…