使用PyInstaller将Python程序打包成EXE文件详细教程

通常我们执行python程序时,需要有Python环境,并要预先安装好需要使用的各个库,这样把程序给他人使用时不太方便;我们可以将python环境以及相应的运行库和程序源代码打包到一个单独的EXE文件中,这样分发程序就变得容易多了,从某种程度上说,还能起到保护程序源码不被泄露的作用。

开始前请确保安装了Python以及 Pyinstaller;PyInstaller安装方法:pip3 install PyInstaller

安装成功后,Python安装目录下的Scripts文件夹里会多出几个文件,pyinstaller.exe和一些附属工具。

先写一个简单的 hello world实验程序:

print('hello world !')

保存文件,命名为main.py

先来了解pyinstaller.exe 的基本用法:

pyinstaller [-options] filename

filename 为你的源码文件,- options 如下:

  • -F 指定打包后只生成一个exe文件
  • -D 创建一个目录,包含EXE文件(默认选项)
  • -c 使用控制台,无界面(默认)
  • -w 使用窗口,无控制台
  • -p 添加搜索路径,让其找到对应的库。
  • -i 程序的ico图标

打开CMD,进入到Python安装目录下的Scripts文件夹,你也可以将这个文件夹添加到系统环境变量,这样不论你在哪个目录都可以使用 PyInstaller。

输入命令:

pyinstaller -F c:\my\main.py

等待程序结束;如无意外,你会发现Scripts目录下多出两个目录,build 和dist,打包好的程序就在 dist中。

加入-w参数,程序将会在后台执行,看不到界面,如果你的程序是一个GUI程序,需要加入这个参数,不然会有个黑框框哦:

pyinstaller -F -w c:\my\main.py

加入-i参数,并指定ico文件路径,这就是打包的EXE文件图标:

pyinstaller -F -i c:\my\my.ico c:\my\main.py

ico文件必须是有效的,不能随便将jpg等图片改下扩展名拿来使用。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/657.html

分类: 计算机技术
推荐阅读:
Python爬取百度热榜 这是一个非常基础的爬虫;使用Python爬取百度热榜的标题和链接;
Linux系统中删除特定文件外的所有文件 有这么个场景,如果你想删除某个目录下除了指定文件外的所有文件,你会怎么做呢?在Linux系统下,你可以只需要一条命令就可实现这个功能;
Python len()函数 在Python中,len()函数用于返回一个对象的长度(元素个数)。这个对象可以是序列类型(如字符串、列表、元组、字节序列等),也可以是映射类型(如字典)。
gcc编译错误undefined reference to `std::cout'解决方法 在对C++项目进行编译时,出现undefined reference to `std::cout'编译错误,解决方法如下;使用gcc编译器编译时,添加 -lstdc++ 编译选项;
Golang一次性读取文件 从磁盘读取文件内容是I/O编程的基础;几乎所有编程语言实现起来都很简单,Golang也不例外:
cannot fallthrough final case in switch的解决方法 在Go语言中,fallthrough 用于 switch 语句的 case 块中,它将会在当前 case 块执行完后执行下一个 case 块,不论下个 case 块条件是否匹配,但如果 fallthrough 后没有 case ,则会产生 cannot fallthrough final case in switch 的错误。