Python代码打包成exe的方法—pyinstaller

一、简介

Python 写好的.py程序只能在安装有Python 库的环境下运行,如果将 .py 文件打包成exe 文件,则可以在其它没有Python 环境的机器上直接运行。

将Python 打包成exe 文件,常见的有两种方法:

  • 方法一、pyinstaller
  • 方法二、py2exe

由于py2exe 存在以下问题:
1、打包好的 exe只能在相同的系统下运行,比如在XP系统用py2exe打包好的exe只能在XP上运行,在win7上会有问题;2、打包的文件也需要打包相同exe下的dll,和一些库的压缩包,不然exe 也无法运行。
所以本文重点介绍第一种方法,以Python3.6 64位下pyinstaller 打包方法为例。

二、Pyinstaller 安装配置

首先需要配置环境,即安装PyinstallerPyWin32

1、安装pyinstaller

Pyinstaller 有两种安装方法:

在这里插入图片描述

Python 安装第三方package 基本方法可参考下文:https://blog.csdn.net/xyqzki/article/details/38414433

方法一

直接在cmd 命令行键入:

pip install pyinstaller
方法二:
  • 打开cmd,切换到pyinstaller 解压包目录,比如我的放在D:\Anaconda目录下。
cd D:\Anaconda\pyinstaller-develop
  • 安装pyinstaller:进入目录后,输入以下命令。
python setup.py install

在这里插入图片描述

2、安装PyWin32

一般来说,采用命令行pip 安装pyinstaller 时会直接安装PyWin32,若安装过程中报错或运行时出现以下错误,则需要手动安装PyWin32。

ImportError: No module named win32com.client
PyWin32 下载链接:

https://sourceforge.net/projects/pywin32/files/pywin32/Build 221/

注意:必须下载与自己Python 版本相匹配的PyWin32 版本,比如我的安装环境是Win10 64bit + Anaconda3 64bit + Python 3.6,所以应当下载的版本是:64bit/py3.6。

pywin32-221.win-amd64-py3.6.exe

在这里插入图片描述

下载之后,直接双击运行,一路Next即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装完成后在cmd 命令行下测试是否安装成功
注意是 import win32com,不是import pywin32

C:\Users\江湖人>python
Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pywin32
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pywin32'
>>> import win32com

三、打包exe

1、准备一个测试文件 demo.py 随便放在一个目录, 我的放在D:\PythonProject\test 目录下。
在这里插入图片描述

2、cmd 切换到要打包的py文件所属目录,命令行键入:

cd D:\PythonProject\test

3、cmd中执行命令

pyinstaller demo.py

在这里插入图片描述

4、步骤2的目录中会多出几个文件夹build、dist,exe程序在dist 文件下,可双击直接运行。

四、总结

1、生成单一的exe 文件

以上方法生成多个文件,exe 文件必须在其它所有文件的支持下才能运行。如果要生成单个集成所有库文件的exe文件,可使用以下方法:

pyinstaller -F -w demo.py

该方法生成单一的exe 文件,且隐藏控制台。

2、隐藏控制台

使用以下方法可隐藏控制台黑框:

pyinstaller -F demo.py --noconsole

隐藏控制台后,双击exe 文件运行时看不到程序页面,可在任务管理器中查看和结束运行。
在这里插入图片描述

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值