Python 使用PyInstaller打包发布

打包发布

1.安装插件PyInstaller

 pip install PyInstaller 

2.在目录根目录内新增main.spec文件(打包脚本)

 # -*- mode: python ; coding: utf-8 -*-
 
 block_cipher = None
 
 py_files = ['main.py',
             'XXX\\XX.py',
             'YYYY\\YYYYYY.py'
             ]
 add_files = [
     ('chromedriver.exe','.'),  # .表示将资源文件复制到打包文件的根目录
     ('AppSettings.ini','.'),
     ('doc\\*.txt','doc'), 
     ('images\\my.png','images'),
     ]
 a = Analysis(py_files,         #所有脚本文件路径
              pathex=['E:\\XX\\XX'], #项目根目录
              binaries=[],
              datas=add_files ,  #打包资源文件(图片、文档、视频等)
              hiddenimports=[],
              hookspath=[],
              runtime_hooks=[],
              excludes=[],
              win_no_prefer_redirects=False,
              win_private_assemblies=False,
              cipher=block_cipher,
              noarchive=False)
 pyz = PYZ(a.pure, a.zipped_data,
              cipher=block_cipher)
 exe = EXE(pyz,
           a.scripts,
           [],
           exclude_binaries=True,
           name='test',   #打包后exe名称
           debug=False,
           bootloader_ignore_signals=False,
           strip=False,
           upx=True,
           console=True )  #是否显示命令窗口,默认true
 coll = COLLECT(exe,
                a.binaries,
                a.zipfiles,
                a.datas,
                strip=False,
                upx=True,
                upx_exclude=[],
                name='test')  #打包后文件夹名称

3.执行打包命令

 pyinstaller -F main.spec 

4.完成后会在项目内出现build及dist文件夹,打包文件在dist文件夹内

PS:

也可以不写spec,直接执行-F命令强制打包。但是需要打包的项目如果有资源文件及多个脚本文件依赖时,会出现打包丢失文件。所以建议按照标准打包。

直接打包exe命令(main为入口py):

pyinstaller -F main.py

 

参考:https://www.cnblogs.com/the3times/p/12386007.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章