python源码打包成exe文件

前言

作为一个编程者,每当完成一个程序后总是感觉十分的快乐满足。很多时候我们也想让自己的朋友体验一下自己编写的程序。但身边的很多人没有安装过环境。这可如何让我们分享这份快乐。因此便有了这篇文章。
使用pyinstaller可以轻松的实现将源码打包成应用。pyinstaller的文档地址

安装pyinstaller

这里只介绍windows系统下的安装。其他系统的安装请参考文档
熟悉pip安装的话十分简单win+r输入cmd进入命令行窗口,输入一下命令:

pip install pyinstaller

它会自动安装所需的依赖包(PyWin32)。
如果安装缓慢或者安装失败的话可以尝试一下去这里下载文件进行手动安装。

原理介绍

简单来说就是pyinstaller会从你给的主文件开始查找所有的import语句找所有的依赖模块(查看依赖包的支持地址)。然后将它们整合打包。

打包程序

pyinstaller打成的包一般分为两种。一种是打包成一个文件夹它的依赖文件和应用文件在一个文件夹中,另一种是将文件打包成一个应用程序没有任何依赖文件。一般来说只有一个exe文件的方式软件的打开会较慢。
打包的命令格式:pyinstaller [options(选项)] script [script …] | specfile(源码文件)
最简单的打包命令:
进入命令行窗口进入到源码的目录执行

pyinstaller myscript.py

myscript.py为你的主文件(程序的入口文件)
运行它将在源码同目录下生成一个.spec文件,创建一个build文件夹里面有一些日志文件,创建一个dist文件里面有一个与主源码文件同名的文件夹可执行的应用就在这个文件夹下。
.spec打包的规范文件,打过一次包后可以直接用pyinstaller运行它进行打包,同时也可以在它的里面进行配置。如:有时你使用的一些包pyinstaller并不支持你可以在这里进行引入,具体看文档。

option的所有选项文档地址
常用option
-D和-F,-D为默认的他的作用和上面的那个命令一样。创建一个包含exe及其依赖文件的文件夹,-F则只创建一个exe文件。
-c和-w,-c为默认的,在打开exe文件的同时会打开一个控制台窗口,显示输入的日志。对于没有gui的程序一定要开着不然双击exe文件时不会有啥显示。-w为隐藏控制台窗口。
-i 可以添加应用程序的图标,不设会应用pyinstaller的默认图标。用法 为-i加上.ico图标的路径。
–key为python源码加密,可以在一定程度上防止反编译。用法:–key = ‘16位字符串’
打包好exe文件后,如果有图片、文件等资源需要把这些东西放到相应的位置(将exe文件看做源码文件,资源文件相对于exe的位置和它相对于源码的文件相同)

总结:

  1. 打包成一个文件夹(生成的文件夹内容形式如图)在这里插入图片描述
    执行命令:
pyinstaller -w -i [ico文件的路径] --key='长度为16位的字符串' -D [主文件.py]

-w 不显示控制台(可选)
-i 应用图标(不用的化为默认图标)
–key python加密(防止被人破解加密用的 可选)
-D 生成一个包含应用程序的文件夹

  1. 只生成一个exe文件
    执行命令:
pyinstaller -w -i [ico文件的路径] --key='长度为16位的字符串' -F [主文件.py]

-F打包成一个exe问件
**注意:**打包完,如果源文件需要图片等资源需要放到相应位置。 如果打包的文件的ico图标不对可以尝试将exe文件移出文件换个位置(这好像是个小bug),应该就行了因为如果没有打包成功的话会报错的。

出现错误的处理

打不开文件或出错时可以用命令行运行,命令行中会显示出错类型。这样就有解决方向了。

下一篇:将exe文件打包成安装包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值