Python中py文件转换成exe可执行文件的方法

yipeiwu_com6年前Python基础

一、背景

今天闲着无事,写了一个小小的Python脚本程序,然后给同学炫耀的时候,发现每次都得拉着其他人过来看着自己的电脑屏幕,感觉不是很爽,然后我想着网上肯定有关于Python脚本转换成可执行文件的操作,事不宜迟,我就开始了问度娘,各种寻找资料,发现网上的资料太多了,有一些比较老了,适合Python2.x系列,在现在Python3流行的时代,我们当然是直接无视,但是各种方法凌乱的很,各种教程也是或全或缺的,鄙人也捣鼓了可久,后来发现一种方法挺多人用的,在自己的程序成功打包成执行文件并在其他人电脑测试成功之后,我就来这做个笔记。若有不对的地方,请大家指出。

 二、pyinstaller 的安装与配置

1.你可以选择这个网址打开并且下载  http://www.pyinstaller.org/downloads.html   但是鄙人是不推荐的,说实话,我用的是校园里面的移动宽带,3.3M的文件,我下载了一个下午硬是没下载下来,你们细心点看,会发现下面还附属Git的下载链接,本人也是用的Git下载下来的用。

2.去github下载pyinstall包

3.下载好之后,解压出来

4.复制那个文件夹去你的Python安装目录下的script文件夹下面(这里附上一张本人的Python目录,或许有点帮助)

5.还需要 下载一个pywin32 ,大家可以到这上面下载: https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/ 选择自己对应的Python解析器的版本,下载双击安装就好,下一步,下一步地点~~

6.在CMD命令行进入Python3目录下的 Scripts 目录并执行: python pywin32_postinstall.py -install 命令 ,你们可以看到,上面那一步执行完之后,就会在刚刚放解压文件目录下面找到这个pywin32_postinstall.py文件

7.在CMD命令行中 进入pyinstaller-develop 目录(之前解压的pyinstaller-develop文件夹),然后执行: python setup.py install

三、执行完上面的步骤,基本环境就配置好了,下面就可以制作exe文件了,,只需要一行命令,很简单。

1.将你自己写好的py文件,复制到pyinstaller-develop目录(之前解压的pyinstaller-develop文件夹)下。

2.在CMD命令行进入该目录,并执行命令: python pyinstaller.py -F 你的文件名字.py 

3.稍等片刻,一个成功的exe文件就会制作完成。会在pyinstaller-develop目录里面,有一个以你脚本文件名命名的文件夹,点进去,exe文件就会在dist文件夹下面。

4.制作完成!

四、总结

感觉是不难的,按照这个做法,应该问题都是不大的,希望看到这个教程的,也能成功。但是这个东西有个小缺点,就是就算脚本文件很小,几十kb,感觉制作成的执行文件都可大,倘若我在以后的学习中,学到其他方法来叫py文件转换成exe文件,肯定也第一时间到博客下面记录分享。 谢谢~~

相关文章

django rest framework 实现用户登录认证详解

django rest framework 实现用户登录认证详解

1、安装 pip install djangorestframework 2、创建项目及应用 创建项目 创建应用 目录结构如图 3、设置settings.py 设置数据库...

Python 实现自动导入缺失的库

Python 实现自动导入缺失的库

在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named 'xxx' 或者 ModuleNotFoundError:...

浅谈Python的条件判断语句if/else语句

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。 比如,输入用户的年龄,根据年龄打印不同的内容。。。 Python程序中,能让计算机自己作出判断的语句就是if语句: 例:...

获取Django项目的全部url方法详解

在为一个项目添加权限时,遇到一个问题,就是为项目所有的url设置权限,但是一个一个手动输入太麻烦了,所以考虑用代码获取到一个项目所有的url 首先,考虑到项目最外层的urlpartte...

python pandas生成时间列表

python生成一个日期列表 首先导入pandas import pandas as pd def get_date_list(begin_date,end_date): date...