python3.4+pyInstaller实现可执行exe文件(包含ico图标)的生成

写在前面

完成python文件的编写后生成可执行的exe文件实现已经实现的py程序在脱离python环境下一样可以运行;

Step1:工具介绍

- pyInstaller安装配置

http://www.pyinstaller.org/downloads.html
在这里插入图片描述
解压到python所在文件加夹如下图:在这里插入图片描述

CMD运行

软件安装完成后运行CMD
在CMD命令行中进入D:\Python\PyInstaller-3.5目录,

D:\>cd D:\Python\Scripts

然后执行:

 python setup.py install

在这里插入图片描述
最后出现如下图字样表示成功。
在这里插入图片描述

Step2:执行文件.exe生成

源文件:sum.py

def addsum():
    sum = 0
    x = 0
    y = 6

    print("please input x:")
    input()
    for n in range(x, y):
        sum = sum + n
    return sum

print(addsum())

如下图将sum.py文件放在,Pyinstaller-3.5目录下
在这里插入图片描述

  • 在CMD命令行进入该目录,并执行命令:python pyinstaller.py -F sum.py:

  • (说明:python pyinstaller.py -F -w display_board.py可以生成一个没有执行黑框的exe文件,只用-F格式回生成有执行黑框的exe文件:
    python pyinstaller.py -F choujiang_copy.py --noconsole
    生成没有控制台的EXE文档

  • 参考https://blog.csdn.net/weixin_45523154/article/details/102588987

实践

安装完成
cmd指令操作
step1.copy工程文件到pyinstaller-4.1文件夹
在这里插入图片描述

step2.如下图CMD进入到pyinstaller-4.1文件夹
在这里插入图片描述

step2.根据需要生成文件
1.不含控制台exe文件
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • D:\Anaconda3\envs\tensorflow\pyinstaller-4.1生成了一个新文件夹 choujiang_copy
    在该目录的dist文件夹下生成了一个hello.exe。
    在这里插入图片描述
    在这里插入图片描述

  • 运行exe文件大功告成。

Step3:执行文件中包含ioc图片图标

C:\Users\Elink 001>pyinstaller -F -w -i D:\Python37\PyInstaller-3.5\display_board.ico D:\Python37\PyInstaller-3.5\display_board.py

在这里插入图片描述
在这里插入图片描述

常用pyinstaller 命令:

  1. -i 给应用程序添加图标
  2. -F 指定打包后只生成一个exe格式的文件
  3. -D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
  4. -c –console, –nowindowed 使用控制台,无界面(默认)
  5. -w –windowed, –noconsole 使用窗口,无控制台
  6. -p 添加搜索路径

实践问题
pyinstaller 打包后的 exe 运行怎么去掉弹出的命令行提示窗口?

    1. 如果使用.spec 文件的话, 在该文件中找到 console=True 修改为 console=False

    2. 如果是直接指定 python 文件进行 pyinstaller 打包的话,需要添加—noconsole

    pyinstaller path\mycode.py–noconsole

    如果想只打包成一个 exe:

    pyinstaller -F path\mycode.py –noconsole(注意:noconsole前面必须是两个  -  -,一个 - 不起作用)

   或:

    pyinstaller -F -wpath\mycode.py

    更换最终 exe 生成路径

    在 cmd 中,一开始就要 cd D:\PythonEXE\ 切换到输出文件夹,然后在用上面的代码,说明:各个参数的作用,

    例子:pyinstaller -F -w -pD:\tmp\core-python\libs -i d:\tmp\main.ico main.py

    -F 表示生成单个可执行文件;

    -D  –onedir 创建一个目录,包含 exe 文件,但会依赖很多文件(默认选项)。

    -w 表示去掉控制台窗口,这在 GUI 界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!;

    -c  –console, –nowindowed 使用控制台,无界面 (默认);

    -p 表示你自己自定义需要加载的类路径,一般情况下用不到;

    -i 表示可执行文件的图标。

ICO 图标下载地址 https://www.easyicon.net/1299031-dice_icon.html

Step4:pyqt文件打包 5.13.0

pyinstaller --name=deep_tools --onefile main.py

在这里插入图片描述

在这里插入图片描述
PyInstaller将会自动将Python代码打包成可执行文件,并将其保存在dist目录下。
运行可执行文件
在dist目录下找到生成的可执行文件,并运行它。如果一切正常,应该能够看到PyQt应用程序的界面。
需要注意的是,在使用PyInstaller打包Python PyQt工程时,需要考虑到跨平台的兼容性和可移植性。可以使用PyInstaller的“–onefile”选项来将所有依赖项打包成一个文件,以便在其他平台上使用。此外,还可以使用PyInstaller的“–clean”选项来清理生成的临时文件和缓存。

在运行可执行文件时,需要确保Python解释器和PyInstaller所在的环境与生成可执行文件的环境相同。如果Python解释器和PyInstaller所在的环境不同,可能会出现无法找到依赖项或无法运行的错误。

要使用PyInstaller打包生成带图标的EXE文件,您需要执行以下步骤:

  1. 安装PyInstaller

您可以使用pip安装PyInstaller:

pip install pyinstaller
  1. 创建一个包含您的Python脚本和图标的文件夹

在该文件夹中,您需要包含您的Python脚本和图标文件。图标文件应该是一个.ico文件,并且应该与您的Python脚本位于同一目录中。

  1. 运行PyInstaller

在命令行中,进入包含您的Python脚本和图标的文件夹,并运行以下命令:

pyinstaller --onefile --icon=icon.ico your_script.py
pyinstaller --onefile --icon=icon/setting.ico --name=deep_tools --onefile main.py

其中,--onefile选项表示将所有文件打包成一个单独的文件,--icon选项指定图标文件的路径,your_script.py是您的Python脚本的名称。

  1. 运行生成的EXE文件

在生成的dist文件夹中,您将找到一个名为your_script.exe的可执行文件。您可以双击该文件来运行您的Python脚本。

请注意,如果您的Python脚本依赖于其他Python库或模块,则您需要将这些库或模块添加到PyInstaller的配置文件中。您可以在命令行中使用以下选项来指定配置文件:

pyinstaller --onefile --icon=icon.ico --add-data "path/to/library;library" --add-data "path/to/module;module" your_script.py

其中,--add-data选项用于指定要添加到可执行文件的库或模块的路径和名称。您可以根据需要添加多个--add-data选项。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间之里

好东西就应该拿出来大家共享

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值