使用pyinstaller将py程序打包为可在任意电脑运行的exe文件

前情提要:利用伟大的Python, 小杰终于写好了一个python程序,爱装X的他当然要在同学面前炫耀一下,可同学的电脑上没有Python运行环境,装X失败?那怎么行!!! 小杰想到了把py打包成exe,小杰的脸上透漏出了对装X的一丝渴望…

       参考许多先辈经验后,小杰选择了最简单的一种,使用pyinstaller包,当然还有其他的方法:py2exe和Cx_freeze,但是,有简单的小杰怎么会选复杂呢,小杰可是个低调的人,一点也不喜欢装X。

一、安装pyinstaller包

pip install pyinstaller

如果你看到了这样

python生成的exe可以移植吗 python转成exe文件不能运行_开发语言


一堆done, 后边还跟着个successfully,看着就很爽有没有,那就证明你已经成功了,后边的一堆废话没必要再看了,直接跳最后一步——打包程序

小杰同学显然没有这样牛叉的操作,他遇到了第一个问题

二、安装中的问题

  1. 问题描述:问题界面忘了截图了,问题就是collecting pyinstaller完成之后,在installing build dependencies…处壮烈牺牲。
  2. 解决办法:这是由于pip 版本的问题。 只需要把pip版本换成18.1,就可以完美解决。
  3. 命令
    pip install pip==18.1
  4. 如果提示没有权限
  5. python生成的exe可以移植吗 python转成exe文件不能运行_Python_02

  6. 迂回战术:先安装pip-10.0.1 , 再换成18.1,安装10.0.1成功如下图:
  7. python生成的exe可以移植吗 python转成exe文件不能运行_开发语言_03

  8. 安装18.1:pip install pip==18.1, 然后下边会提示要修改pip用到的代码,如下图中画线部分:不同安装位置可能不一样,复制过去即可
  9. python生成的exe可以移植吗 python转成exe文件不能运行_Python_04

  10. 如果安装18.01成功,会出现successfully(爽)
  11. python生成的exe可以移植吗 python转成exe文件不能运行_python_05

  12. 安装pip 18.1后,就可以去安装pyinstaller了
  13. pip install pyinstaller
    安装成功仍然会出现Successfully
  14. python生成的exe可以移植吗 python转成exe文件不能运行_开发语言_06

  15. 至此,我们打包py的工具终于安装成功。

三、打包程序

  1. 使用pyinstaller打包py非常简单,只需要一句命令
pyinstaller -option xxx.py

option为相关参数,主要参数如下:

参数

含义

-F

指定打包后只生成一个exe格式的文件(一般只使用该命令即可)

-i

添加生成程序的icon图标

-n

为生成的exe起个名字

-D

打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,代码易于维护

-d

产生debug版本的可执行文件

–w

使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)

-n

为生成的exe起个名字

  1. 打包示例

    打包成功

Code The World ! ! !