总结Pyinstaller打包的高级用法

作者:可以叫我才哥 时间:2021-03-27 02:48:16 

一、安装pyinstaller

PyInstaller是一个用来将Python程序打包成一个独立可执行文件的第三方包。

因是第三方包,所以需要安装一下:


pip install pyinstaller

或者升级到最新版本:


pip install --upgrade pyinstaller

或者安装开发者版本:


pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz

当然了,也可以下载whl文件,然后pip install安装

更多可参考官网指引:

http://www.pyinstaller.org/downloads.html

二、打包初体验

我们简单试下打包python代码为exe可执行文件,测试代码如下:


# 测试.py
import os

path = os.getcwd()
print(f'当前文件路径:{path}')
os.system('pause')

这段代码是打印文件所在的目录,我们用pyinstaller简单打包的命令如下:


pyinstaller -F 测试.py

这个命令,执行过程如下:


(env_test) F:\PythonCool\pyinstaller>pyinstaller -F 测试.py    
403 INFO: PyInstaller: 4.3
403 INFO: Python: 3.8.10 (conda)
434 INFO: Platform: Windows-10-10.0.19042-SP0
436 INFO: wrote F:\PythonCool\pyinstaller\测试.spec
455 INFO: UPX is not available.
468 INFO: Extending PYTHONPATH with paths
['F:\\PythonCool\\pyinstaller', 'F:\\PythonCool\\pyinstaller']
501 INFO: checking Analysis
...
...
15006 INFO: Appending archive to EXE F:\PythonCool\pyinstaller\dist\测试.exe
18999 INFO: Building EXE from EXE-00.toc completed successfully.

成功后会在同级目录下生成一个dist文件,里面就是一个和代码文件名同名的可执行文件:

总结Pyinstaller打包的高级用法

双击该可执行文件,我们可以看到直接在python解释器里运行测试.py文件时一样的结果:

总结Pyinstaller打包的高级用法

这里需要注意的是,我们在进行打包的时候,有必要指定被打包的py文件的路径,两种方式供选择:

方式一:先切换到被打包py文件目录,再执行打包指令


(base) C:\Users\Gdc>cd F:\PythonCool\pyinstaller
(base) C:\Users\Gdc>F:
(base) F:\PythonCool\pyinstaller>pyinstaller -F 测试.py

方式二:打包指令中指定py文件的绝对路径


(base) C:\Users\Gdc>pyinstaller -F F:\PythonCool\pyinstaller\测试.py

关于成功打包的测试.exe可执行文件,我们发现其图标是默认的,且启动时会显示命令行窗口。那么,我们可以怎么自定义exe图标,又或者去掉命令行窗口呢?

三、打包进阶体验

来源:https://blog.csdn.net/dxawdc/article/details/117883146

标签:Pyinstaller,打包
0
投稿

猜你喜欢

  • Python轻量级web框架bottle使用方法解析

    2023-05-29 23:43:48
  • python判断文件是否存在,不存在就创建一个的实例

    2022-04-29 02:28:55
  • Python实现多线程爬表情包详解

    2022-05-26 01:30:55
  • 用自定义html标签让IE支持html 5新增元素

    2008-03-18 12:57:00
  • Python 3.6 中使用pdfminer解析pdf文件的实现

    2023-09-02 08:34:08
  • 简述Python2与Python3的不同点

    2023-03-25 10:22:10
  • NumPy中的维度Axis详解

    2021-02-12 12:39:35
  • MS SQL7.0的数据迁移到MySQL上的一种方法

    2008-11-01 16:59:00
  • python自动化测试之setUp与tearDown实例

    2021-07-01 13:35:13
  • sqlplus登录\\连接命令、sqlplus命令的使用大全

    2023-07-01 08:16:31
  • python opencv圆、椭圆与任意多边形的绘制实例详解

    2021-12-08 08:20:48
  • IE6中隐形的PNG8图片

    2009-11-27 18:38:00
  • ASP四级连动下拉列表程序段

    2009-07-03 15:33:00
  • Python学习笔记_数据排序方法

    2022-03-07 01:28:33
  • 解决python中os.system调用exe文件的问题

    2023-11-29 14:46:13
  • 解决jupyter运行pyqt代码内核重启的问题

    2022-01-29 21:28:40
  • Windows下使Python2.x版本的解释器与3.x共存的方法

    2021-03-14 22:22:17
  • 在ASP.NET 2.0中操作数据之五十三:在Data Web控件显示二进制数据

    2023-07-21 05:18:32
  • CentOS7中使用shell脚本安装python3.8环境(推荐)

    2022-08-24 17:04:24
  • PHP队列用法实例

    2023-10-20 12:30:49
  • asp之家 网络编程 m.aspxhome.com