使用Pyinstaller打包exe

当我们我们编写python程序后,我们有时会将程序打包成不依赖python环境的exe程序,这时我们可以使用PyInstaller这个包来打包我们的程序,使其成为可以直接运行的exe程序,本人第一次打包的时候遇到了许多坑,在这里记录一下,同时也可以给大家一点参考。

首先我们使用pip下载PyInstaller这个包,同时我们会安装一些其他的依赖包,如果安装失败,需要看看依赖的包是否正确安装了,最好在一台干净的机器上运行,以免遇到一些不可知的问题。

下载好PyInstaller之后,我们有两种方法可以打包,最简单的就是使用命令Pyinstaller 你的Python文件.py 然后就会在目录下生成Build和dist文件夹,dist文件夹下就是打包好的应用程序,这里值得提一下的就是build文件夹中存在一个warnxxxx.txt文件,记录了打包的出错信息,当打包失败或者程序无法运行时我们可以查看该文件来定位出错点,看是不是一些依赖或者包不存在,没打包进去。

以上是最简单的打包方法,但由于我们可能需要打包一些资源文件或者程序图标时,我们就需要写.spec文件告诉pyinstaller我们还需要打包哪些东西,这里贴一下本人自己打包时用的.spec结构:

# -*- mode: python -*-

block_cipher = None


a = Analysis(['你的Python——main文件.py'],
             pathex=['需要打包的文件夹目录'],
             binaries=[],
             datas=[
                需要打包的配置或者资源文件
             ],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             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,
          exclude_binaries=True,
          name='打包后的程序名',
          debug=False,
          strip=False,
          upx=True,
          console=False , icon='程序用到的图标')
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='打包后的程序名')

当我们写好后就可以执行pyinstaller 你写好的spec文件.spec 命令,同样会生成build和dist将我们的程序打包为exe程序。

最后的一个坑就是本人写的程序在%AppData%中新建了用户文件,存放了之前调试产生的一些文件,忘了删除导致程序运行时一直报错,重新打包了很多遍,最后删了了该文件夹中的信息才打包完成。

关于.spec文件的写法和pyinstaller的使用推荐看官方文档,本人在这里知识作为一个记录以及简单的使用介绍。

对于Linux系统,PyInstaller并不能直接打包exe文件,因为exe文件是Windows平台的可执行文件格式。PyInstaller主要用于在Windows和Mac OS X平台上打包Python代码生成可执行文件。在Linux上,通常使用pyinstaller命令来打包Python代码生成可执行文件,然后通过命令行运行生成的可执行文件。在Linux系统上使用PyInstaller,你可以按照以下步骤进行操作: 1. 确保已经安装了PyInstaller,你可以使用以下命令来安装PyInstaller: ``` pip install pyinstaller ``` 2. 在终端中进入你的Python代码所在的目录。 3. 使用PyInstaller命令来打包你的Python代码: ``` pyinstaller your_script.py ``` 这将会在当前目录下生成dist文件夹,其中包含了生成的可执行文件。 4. 运行生成的可执行文件: ``` ./dist/your_script ``` 这将会执行你的Python代码。 请注意,PyInstaller并不是一个跨平台的工具,所以在Linux上生成的可执行文件只能在Linux系统上运行。如果你需要在其他操作系统上运行你的Python代码,你需要在对应的系统上重新使用PyInstaller来进行打包。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [pyinstaller打包python文件成exe(原理.安装.问题)](https://blog.csdn.net/weixin_36450668/article/details/116897439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Pyinstaller打包后的exe文件打开闪退解决方案](https://download.csdn.net/download/weixin_38700790/14856597)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值