Python入门——使用Pyinstaller转换.py文件为.exe可执行程序

  pyinstaller能够在Windows、Linux等操作系统下将Python脚本打包成可直接运行程序。使Python脚本可以在没有安装Python的环境中直接运行,方便共享。

注意事项:

  1. 待转换的.py文件绝对路径最好不要包含中文字符,容易出现一些莫名其妙的问题。
  2. python中需要有.py文件中用到的第三方库,否则在转换后的.exe文件中会出现不符合预期的结果。

pyinstaller基本语法

更多语法详情见Using PyInstaller

pyinstaller [options] script

options常用选项说明:

参数
作用
-F,-onefile表示生成单个可执行文件,常用。
-w, -windowed, -noconsole表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-p表示你自己自定义需要加载的类路径,一般情况下用不到
-i表示可执行文件的图标。注意:图片后缀必须是.ico
-c,console,-nowindowed使用控制台,无窗口(默认)
-D,-onedir创建一个目录,包含EXE文件,但会依赖很多文件(默认选项)

基本实例: pyinstaller -F myscript.py

使用实例

  执行pyinstaller -F {Python脚本名} 完成文件转换。.exe文件生成的绝对路径会在倒数第二行显示,通常位于当前目录下dist所在目录下。转换后的.exe文件名与python文件名相同。

直接vscode终端里输入

pyinstaller -F call_login.py

在这里插入图片描述

在这里插入图片描述

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

一些问题:

Q1. 如果Python脚本使用到了第三方库,如何打包?

Solve_1: 将第三方库对应的包复制到待打包python脚本的同目录下,再执行打包命令。
Solve_2: pyinstaller.exe -F 路径/文件名.py 路径/文件名.py

Q2. 我的python脚本主要是命令行输出,但是程序执行完就退出无法查看相关信息,如何处理?

Solve: 在python脚本最后一行添加命令:system('pause') 或者 getchar()(Linux中),目的在于暂停直至输入任意字符。

Q3. 我想给我的打包后的执行程序换个图标,如何处理?

Solve: 使用参数-i。如命令:pyinstaller -F -i tupian\qq.ico ccc.py。文件后缀名必须是.ico

Q4. 程序运行出现CMD窗口,如何去除?

Solve: 带上参数-w即可。pyinstaller -F call_login.py -w (-w表示去掉控制台窗口显示)

Q5. Qt工程打包时报错Exception: Qt plugin directory 'D:/Èí¼þ/python_3.7/lib/site-packages/PyQt5/Qt5/plugins' does not exist!

Solve:

  1. 修改环境变量;
  2. 在脚本中修改Qt_PLUGIN的路径信息,修改方式如下:(可通过报错的日志跳转,注意路径不要包含中文字符!
    在这里插入图片描述
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值