百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

一文学会用PyInstaller把Python 程序打包成一个独立的可执行文件

off999 2025-06-12 15:11 95 浏览 0 评论


PyInstaller 是一个 Python 库,它可以将 Python 源代码和依赖的模块打包成一个可执行文件或者一个压缩包,这样就可以在没有安装 Python 解释器或任何模块的环境中运行您的程序。PyInstaller 支持 Python 3.8 及更高版本,可以正确地打包许多主流的 Python 包,如 numpy, matplotlib, PyQt, wxPython 等。

要使用 PyInstaller,需要先安装它,可以通过 pip 命令来安装它:

pip install -U pyinstaller

然后,可以在命令行中使用以下命令来打包 Python 程序:

pyinstaller your_program.py

打包应用程序应该现在可以在 dist 文件夹中找到。还可以使用一些选项来定制您的打包过程,例如指定图标,隐藏控制台窗口,添加数据文件等。以下是一些常用的选项的说明:

  • -F:打包所有的依赖包在一个可执行文件中,包括您自己的模块、内置模块以及第三方模块。
  • -D:打包所有的依赖包在一个文件夹中,运行程序时,需要进入该文件夹,点击运行相应的可执行程序。
  • -i:指定打包程序的图标,只适用于 Windows 平台。
  • -n:指定打包后生成文件的名称。
  • -w:禁止命令行弹出,适用于图形界面程序。

PyInstaller 在打包时,会生成一个 spec 文件,这是一个 Python 文件,里面包含了打包的配置信息,可以通过编辑这个文件来进一步控制打包的细节,例如添加外部数据文件,指定隐藏的导入模块,设置 C/C++ 扩展等2。以下是一个 spec 文件的示例:

# -*- mode: python -*-

block_cipher = None

a = Analysis(['your_program.py'],
             pathex=['your_path'],
             binaries=[],
             datas=[('your_data_file', 'data')],
             hiddenimports=['numpy', 'pandas'],
             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,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='your_program',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=False,
          icon='your_icon.ico')


可以根据您的项目的实际情况来修改 spec 文件中的参数,然后使用以下命令来打包您的程序:

pyinstaller your_program.spec

PyInstaller 的工作原理是,当双击编译好的可执行文件后,它会创建一个临时目录,把所有需要用的包都解压到那里,然后执行。执行完毕后,临时文件夹就消失了。因此,您需要注意以下几点:

  • 如果项目中需要读取或写入某些文件,您需要使用相对路径,而不是绝对路径,否则在打包后可能会出现找不到文件的错误。
  • 如果项目中使用了一些 PyInstaller 无法自动检测到的模块,您需要在 spec 文件中的 hiddenimports 参数中指定它们,否则在打包后可能会出现导入错误。
  • 如果项目中使用了一些 PyInstaller 无法正确处理的模块,例如 PyQt5, PySide2, PyTorch 等,需要在 spec 文件中的 hookspath 参数中指定相应的钩子文件,或者使用 PyInstaller 提供的一些特殊选项,例如 --windowed,--exclude-module 等2。

PyInstaller 的优点是,它可以将 Python 程序打包成一个独立的可执行文件,方便您在没有 Python 环境的情况下运行和分发您的程序。它也可以保护您的源代码,防止被轻易地反编译和修改。PyInstaller 的缺点是,它可能会导致打包后的文件过大,因为它会将 Python 解释器和所有的依赖包都打包进去。它也可能会遇到一些兼容性或稳定性的问题,因为它不是一个完美的打包工具,有时候会出现一些意想不到的错误或警告。

相关推荐

笔记本电脑哪个牌子好用又实惠

1.神舟优雅X4优点:1.35kg很轻巧,14英寸够便携固态硬盘,速度快,有背光键盘。缺点:配置较低,只能轻度办公,售后一般。2.攀升MaxBookP1优点:零噪音,金属机身,固态硬盘,大触摸板,背...

电脑一开机就进入bios界面(电脑开机就会进入bios)

原因一:你的BIOS电池没有电了。解决方式:更换电池即可原因二:没有软驱但启用了软驱解决:可将软驱禁用——开机按DEL进BIOS,选择:STANDARDCMOSFEATURESDRIVEA:...

电脑windows7旗舰版怎么样(电脑windows7旗舰版好不好)

win7旗舰版挺好使的不过现在可以选择更win10。Windows7旗舰版属于微软公司开发的Windows7操作系统系统系列中的功能最高级的版本,也被叫做终结版本,是为了取代WindowsXP...

手机软件怎么升级最新版本呢
  • 手机软件怎么升级最新版本呢
  • 手机软件怎么升级最新版本呢
  • 手机软件怎么升级最新版本呢
  • 手机软件怎么升级最新版本呢
office2010老是弹出安装程序

没看到截图,最好是吧提示信息完整截图发上来。因为信息不会是仅仅“更改安装”几个字的。猜测是已经安装有Office2010了或原本的2010没有卸载干净。

win8玩游戏稳定吗(win8的游戏win10能玩吗)

1、确定驱动是最稳定的公版驱动,新驱动不一定适合游戏不要贸然升级。 2、确定电源已经设置为高性能模式。3、游戏过程开个游戏加加,可以自动为你切换独显,并且自动释放内存。也可以通过它注意下CPU占用,如...

win10系统更新版本(win10系统更新版本能回退吗)

win10怎么更新到1909版本win101909升级方法一:WindowsUpdate更新:1.依次点击开始—设置—更新和安全—windows更新—检查更新,需要更新补丁至最新,如果你经常不更新...

win7升级win10要留多少空间(windows7升级windows10需要多长时间)

win7电脑在系统已经激活并且开启系统更新的情况下,符合条件的系统会在右下角弹出windows10免费升级,直接点击确定就开始升级了。或者下载win10安助手,运行软件后会自动下载windows1...

国外比较开放的浏览器(国外比较开放的浏览器推荐)

1、打开控制面板。2、点击“检查防火墙状态”。3、点击左侧“高级设置”。4、选中“入栈规则”。5、右侧点击“新建规则”。6、选择“端口”。7、选择“TCP”,选中“特定端口”并输入你要开发的端口,或者...

一健ghost下载(一键ghost v2015.07.05)

你的是原版镜像,当然无法识别。。你可以使用微软usb工具。将镜像写入U盘或光盘。

纯净无毒的win7下载(有没有纯净的win7系统)

下面提供的是微软发布的Windows7各版本光盘ISO镜像下载地址,原始文件均来源自MSDN,和零-售彩盒版本光盘内容完全一致。请放心下载。(如果需要光盘的买家,请无视以下内容)下...

ie浏览器文件损坏怎么修复(ie浏览器破坏怎么恢复)

可以在浏览记录里面查到。重新下载一次就行了如果你在IE浏览器里面下载的文件被你不小心删掉了,而且这个文件对你来说很重要,你可以打开你的IE浏览器选择历史记录,在历史记录里面就可以找到相关的下载的地方,...

电脑没音量是什么原因(电脑没音量是什么原因造成的)

电脑突然没有声音可能是由于以下原因:1.音量设置被关闭或静音;2.音频驱动程序出现问题或需要更新;3.音频设备连接问题,例如音频插头没有插好或者有问题;4.操作系统的声音设置出现问题。解决方法包括检查...

电脑蓝屏u盘装系统教程(电脑蓝屏系统u盘怎么装系统)

dell电脑蓝屏用U盘重装系统方法,1在需要重装的电脑上插入启动U盘,开机并不断按下U盘启动快捷键。2在进入系统启动菜单中选择带有USB字样的选项并回车。3进入系统引导选项界面,选择Windows1...

系统之家官网纯净版(系统之家首页)

我现在用的就是系统之家的win7,以前用的是系统之家纯净版的xp,纯净版的好处就是没有预装的软件,缺点就是有些东西要自己装,包括有些软件必须的东西。装个游戏又要装这个又要装那个的很麻烦,我现在都是安装...

取消回复欢迎 发表评论: