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

匿名 (未验证) 提交于 2019-12-02 22:11:45

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

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

  • PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。官网
  • dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。官网
  • Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。官网
  • py2app:将 Python 脚本变为独立软件包(Mac OS X)。官网
  • py2exe:将 Python 脚本变为独立软件包(Windows)。官网
  • pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python 本身。官网

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

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

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

pyinstaller参数 含义
-F 指定打包后只生成一个exe格式的文件
-D
-c
-w
-p 添加搜索路径,让其找到对应的库。
-i 改变生成程序的icon图标
-h 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. 知乎的入门教程
  2. awesome中文系列
  3. b站视频教程1
  4. b站视频教程2
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!