要在一个没有python环境的电脑上部署python程序,就需要先将py文件编译打包为exe文件,这样就省去了安装编译环境的麻烦,运行上也更为简易

将py文件打包为exe使用的主流工具是pyinstaller

以下是pyinstaller在纯pycharm下打包程序的过程:

一、安装pyinstaller

pyinstaller的安装主要有两种方式:

1.使用命令行

在已经安装了pip的情况下,在命令行输入

pip intsall pyinstaller

2.在pycharm下工具栏点击File -settings,然后进入project interpreter

使用pycharm进行Python项目打包 如何用pycharm打包文件_python

点击右上角+号,进入搜索界面,搜索pyinstaller

记得在下方框选 Install to user's site packages directory并且记住右边文件夹的位置

使用pycharm进行Python项目打包 如何用pycharm打包文件_python_02

点击Install Pcakage即可安装,安装成功后IDE右下方会有提示,同时在package界面也会显示已经安装

二、为pyinstaller配置环境变量

在系统环境变量中添加之前记住的文件夹下Scripts的目录

示例:

C:\Users\DELL\AppData\Roaming\Python\Python36\Scripts

如果没有配置环境变量,在使用中可能会出现

pyintsaller不是内部或外部命令,也不是可运行的程序或批处理文件

三、使用pyinstaller打包exe

在Pycharm IDE下方的Terminal即可快速唤出命令行,效果同cmd是一样的

使用pycharm进行Python项目打包 如何用pycharm打包文件_系统安装_03

常用参数:

-F :将一个或多个py文件打包为唯一一个exe,是最常用到的参数

-w :打包生成的exe不含控制台(即运行中跳出的黑框),如果不加-w默认生成携带控制台的程序,同时也可以使用-c来指示exe携带控制台

注:如果你写的程序只有命令行,而没有类似于pyqt5的图形界面,不需要去掉控制台选项

-i:打包生成的exe文件使用用户指定的图标

 

1.正常打包单个文件:

pyinstaller -F main.py    #控制台程序和GUI程序均适用

pyintsaller -F -w main.py #GUI程序适用,用于隐藏控制台

pyinstaller -F -w -i 图标.ico main.py#隐藏控制台,并指定exe的图标

2.打包多个文件需要用到-p参数,表示对其他py文件的引用

主文件要在前面,-p后是主文件引用的其他文件,用-p加文件名往后叠加,以此类推

示例:main.py 调用了1.py和2.py,现要将他们同时打包成一个exe文件,并且去掉控制台,并指定图标

pyinstaller -F -w -i 图标.ico main.py -p 1.py -p 2.py

四、python 32 64位打包程序运行问题 

如果系统安装的是64位的python,打包后的程序只能在64位的电脑下运行,在32位的电脑下会报错

如果系统安装的是32位的python,在32位和64位系统下都能运行,不受影响