总结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实现数据库跨服务器迁移

    2023-09-23 04:54:03
  • 在ASP中使用SQL语句之6:存储过程查询

    2007-08-11 12:44:00
  • PHP PDOStatement::debugDumpParams讲解

    2023-06-06 04:18:55
  • Python+OpenCV实现图像的全景拼接

    2023-12-01 11:47:29
  • 基于PHP+Ajax实现表单验证的详解

    2023-11-14 12:52:43
  • js实现网页标题栏闪烁提示效果实例分析

    2024-04-16 09:05:11
  • Python txt文件如何转换成字典

    2022-01-10 21:55:05
  • Go语言判断指定文件是否存在的方法

    2024-05-21 10:21:38
  • SQL Server 2000里的数据类型

    2011-06-11 14:07:00
  • asp如何做一个密码“生成器”?

    2010-07-12 18:51:00
  • 更正确的asp冒泡排序

    2024-04-22 13:04:10
  • 详解LyScript 内存扫描与查壳实现

    2022-04-18 07:07:31
  • PHP 修改SESSION的生存时间案例详解

    2023-06-11 19:44:20
  • Yolov5更换BiFPN的详细步骤总结

    2023-01-17 02:51:22
  • asp如何删除数据库中的表或索引?

    2010-06-26 12:23:00
  • tornado框架blog模块分析与使用

    2023-01-29 10:39:27
  • 比较详细的完美解决安装sql2000时出现以前的某个程序安装已在安装计算机上创建挂起的文件操作。 <font color=red>原创</font>

    2024-01-27 03:48:54
  • Pandas替换及部分替换(replace)实现流程详解

    2023-11-04 02:58:38
  • pycharm中出现no module named xlwt的原因及解决

    2021-10-25 08:21:08
  • python矩阵运算,转置,逆运算,共轭矩阵实例

    2021-09-16 17:45:22
  • asp之家 网络编程 m.aspxhome.com