当前位置: 移动技术网 > IT编程>脚本编程>Python > 01.如何把.py文件打包成为exe,重点讲解pyinstaller的用法

01.如何把.py文件打包成为exe,重点讲解pyinstaller的用法

2018年08月21日  | 移动技术网IT编程  | 我要评论

群交记实,陈显刚,多普达手机怎么样

1.应用场景

1.1 故事背景

我自己用python写了一个小程序发给其他同事用,给他的就是一个.py文件,不过他觉得比较麻烦,还要安装环境,他问我有没有简单一点的方式,我给一个exe文件,他就不用安装环境就可以运行我的程序,我内心在想这么麻烦,还要我跟你打包成为exe,不过没办法,谁叫是好朋友了,我就答应他了。

1.2 寻找资料

在写c#的时候,面向nuget编程(谁叫四渣渣程序员了);在学习python之前就之前有很多组件(开心的飞起),开始在github和google上寻找资源,最终发现以下几个东西

  • pyinstaller:将 python 程序转换成独立的执行文件(跨平台)。
  • dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 debian 包来发布。
  • nuitka:将脚本、模块、包编译成可执行文件或扩展模块。
  • py2app:将 python 脚本变为独立软件包(mac os x)。
  • py2exe:将 python 脚本变为独立软件包(windows)。
  • pynsist:一个用来创建 windows 安装程序的工具,可以在安装程序中打包 python 本身。

1.3 技术方案

通过对比,最终选择了上面例子中的 pyinstaller

1.4 pyinstaller 使用教程整理

  1. 直接在命令行用pip安装 pyinstaller【第一次需要安装成功后,后面就不需要再安装了】
pip install pyinstaller

  1. 在命令行中切换到要打包的程序所在目录,直接输入下面的指令即可
pyinstaller learn01.py -f

pyinstaller参数 含义
-f 指定打包后只生成一个exe格式的文件
-d –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
-c –console, –nowindowed 使用控制台,无界面(默认)
-w –windowed, –noconsole 使用窗口,无控制台
-p 添加搜索路径,让其找到对应的库。
-i 改变生成程序的icon图标
-h pyinstaller各个参数的讲解

1.5 关于 pyinstaller 使用总结

在用 pyinstaller 打包成exe后,点击运行,发现直接闪退,有点懵逼,猜想肯定是自己的使用方式不对,后来也去google上搜索了,发现也有人也在搜索 pyinstaller 打包exe后闪退的相关问题,按照教程尝试了好几篇,找了好几天一直没有理想的答案,发现还是闪退。既然没找到答案,那么我就去youtube上找个播放次数比较多的教程看看,看看别个怎么用法,最终大神的教程中找到了解决办法,在代码最后面加上相关代码就行,我整理了一下三种做法:

# 1.暂停的第一种方式
# time.sleep(10)

# 2.暂停的第二种方式
# input("press <enter>")

# 3.暂停的第三种方式 (比较推荐这个)
# 提示使用之前,记得引入相关组件 import os
os.system("pause")

看到以上的做法,突然想起来了在c#中写控制台的场景,最后都会加一句一下代码(如果不加,那就直接退出控制台了,看不到运行后的控制台返回的参数:

console.read();

1.6 相关参考教程

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网