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

python代码如何打包

网上的文章对小白都不太友好呀,讲得都比较高大上,本文章就用最简单的方式来教会大家如何打包。既然各位已经学习到了python打包了, 深适度应该跟我查不多。

注意事项:

  1. 这个插件只能打包 mac 、win系统运行的文件,也就是打出来的包,只能在这两个系统中运行,在 mac系统打包则能在mac中运行, 在win中打包则能在win中运行。

.exe打包:

第一步:写一个简单的python程序

import timedef test():print('你好,环境使用xxx系统')txt = input('请输入:')print(txt)time.sleep(5)if __name__ == '__main__':test()

写完之后,既然你运行程序需要依赖包,如上面程序中的time 模块, 所以你打包好的后,别人运行你的程序也是需要依赖包的,怎么处理这些依赖包呢?在终端中执行下面这段代码

这段代码的意思就是将你当前环境下所需要的所有依赖包,都保存到 equirements.txt 文件中

pip freeze > requirements.txt

执行完之后会在项目下自动生成一个equirements.txt 文件

第二步:安装安装 pyinstaller 这个第三方库

pip install pyinstaller

检查一下是否安装成功,关闭终端窗口, 然后再打开,输入 pyinstaller ,出现以下则说明安装成功

第三步:执行打包命令

在终端执行以下命令,这里的 app.py 就是你需要打包py文件名, 其它你就照搬即可

pyinstaller -D app.py

这三个文件都是干什么用的呢?

build: 这个文件是打包程序的编译文件, 这个文件对于我们是没有用的,可以直接删除。

dist:这个文件就是我们打包成后的文件,打开里面可以看到app.exe文件, 这个文件是可以直接双击执行的, 双击后就可以执行我们写好的程序了

app.spec:这个文件是打包的配置文件,后续会讲到怎么用

第四步:试一下打包好的程序是否能执行

在项目的 dist 文件下找到exe文件,双击运行

我们的程序就执行成功了

这里需要补充一些东西,相信各位小白一定会用到。

问题1:怎么重新打包? 需要将刚刚成的哪些文件全部删除么?

答:重新在终端执行 pyinstaller -D app.py 命令即可。记得需要清空 dist/app 文件里面的内容

问题2:如果所写的程序代码有问题, 执行会怎么? 怎么展示报错信息?

答:执行到报错的代码时,程序会立即退出,且不展示任何报错信息 。将 app.exe 文件拖进入cmd窗口运行, 就可以看到报错信息,如下图。

到此就结束了,简单易懂吧

http://www.lryc.cn/news/36684.html

相关文章:

  • MyBatis学习笔记(十二) —— MyBatis的逆向工程
  • 4.Elasticsearch深入了解
  • 【HashSet】| 深度剥析Java SE 源码合集Ⅲ
  • 你了解线程的状态转换吗
  • MyBatis-Plus联表查询的短板,该如何解决呢
  • 吲哚菁绿-巯基,ICG-SH,科研级别试剂,吲哚菁绿可用于测定心输出量、肝脏功能、肝血流量,和对于眼科血管造影术。
  • 深度剖析JavaOptional类
  • 平面设计软件Corel CDR2023又开始放大招啦,CorelDRAW Graphics Suite 2023有哪些新增功能?
  • 初学torch【报错:expected scalar type double but found float、rmse】
  • 金三银四、金九银十 面试宝典 JAVASE八股文面试题 超级无敌全的面试题汇总(接近3万字的面试题,让你的JAVA语法基础无可挑剔)
  • 数据结构:链式二叉树初阶
  • 公式编写1000问9-12
  • C++11:类的新功能和可变参数模板
  • 【Java学习笔记】15.Java 日期时间(1)
  • 在ROS2中,通过MoveIt2控制Gazebo中的自定义机械手
  • Java-线程池 原子性 类
  • 力扣sql简单篇练习(二十五)
  • 计算机网络:OSPF协议和链路状态算法
  • 利用表驱动法+策略模式优化switch-case
  • SpringBoot创建和使用
  • which、whereis、locate文件查找命令
  • Uipath Excel 自动化系列14-SaveExcelFile(保存Excel)
  • MyBatis学习
  • 高速PCB设计指南系列(二)
  • uniapp项目打包上线流程
  • 垃圾回收:垃圾数据如何自动回收
  • 苹果笔不用原装可以吗?Apple Pencil平替笔推荐
  • uniCloud基础使用-杂文
  • vector的模拟实现
  • 【无标题】compose系列教程-4.相对布局ConstraintLayout的使用