使用pyinstaller模块将python文件打包成可执行的exe文件详解

​1、使用步骤

 第一步:安装包

pip install pyinstaller==3.2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

第二步:替换..\Lib\site-packages里的PyInstaller文件(若使用时没有出问题可以跳过)

(PyInstaller.zip文件包含在“python打包.xmind”文件中,在文章底部有获取方法)

第三步:执行打包的方法

(1)简单的打包

pyinstaller  -F -w name.py

(2)较复杂的打包

pyi-makespec name.py

生成一个自定义的spec文件

pyinstaller -F name.spec

执行spec文件进行打包

2、常用的指令参数

 -F

pyinstaller -F name.py

只生成一个name.exe文件。

-D

pyinstaller -D name.py

默认选项,除了name.exe外,还会生成依赖文件。

-c

pyinstaller -c name.py

默认选项,只对windows有效,使用控制台。

-w

pyinstaller -w name.py

只对windows有效,不使用控制台。

-p

pyinstaller -p E:\python3.6\Lib\site-packages name.py

设置导入路径,当打包报错,找不到某个模块时用到。

-i

pyinstaller -i D:\filename.icon name.py

设置exe文件图标。

--version-file

pyinstaller name.py --version-file  version_info.txt

为生成的exe程序添加版本信息

3、spec文件详解

# -*- mode: python -*-

import sys

sys.setrecursionlimit(1000) # 设置递归深度

# "RecursionError: maximum recursion depth exceeded" 出现这个错误时可增加递归深度的值

PATH = 'D:\\MyProject\\ProjectName' # 项目根路径

block_cipher = None

a = Analysis(['main.py'], # 可打包多个py文件,第一个文件为启动文件

pathex=[PATH], # 文件路径,当打包时出现模块找不到的情况可以向此处添加模块路径

binaries=[],

datas=[(PATH+'\\files','files')], # 将源文件一起打包

hiddenimports=[], # "No Module named xxx" 出现此错误时可在此加入模块名称

hookspath=[],

runtime_hooks=[],

excludes=[],    # 不打包的模块,可用此方法来减小exe文件的大小

win_no_prefer_redirects=False,

win_private_assemblies=False,

cipher=block_cipher)

pyz = PYZ(a.pure, a.zipped_data,

cipher=block_cipher)

exe = EXE(pyz,

a.scripts,

a.binaries,

a.zipfiles,

a.datas,

name='main', # 打包后的exe名称

debug=False,

strip=False,

upx=True,

console=False )

coll = COLLECT(exe,

a.binaries,

a.zipfiles,

a.datas,

strip=False,

upx=True,

name='main')

4、xmind总结

使用pyinstaller模块将python文件打包成可执行的exe文件详解_第1张图片

5、获取xmind文件方法

扫描下面二维码,关注公众号【精讲编程语言】,回复 “PyInstaller” 即可获取xmind文件。

使用pyinstaller模块将python文件打包成可执行的exe文件详解_第2张图片

你可能感兴趣的:(使用pyinstaller模块将python文件打包成可执行的exe文件详解)