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

yipeiwu_com5年前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文件,肯定也第一时间到博客下面记录分享。 谢谢~~

相关文章

urllib2自定义opener详解

urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能。要支持这些功能,必须使用build_opener()函数创建自定义Opener对象。 复制代码 代...

selenium+python实现1688网站验证码图片的截取功能

selenium+python实现1688网站验证码图片的截取功能

1. 背景 •在1688网站爬取数据时,如果访问过于频繁,无论用户是否已经登录,就会弹出如下所示的验证码登录框。 一般的验证码是类似于如下的元素(通过链接单独加载进页面...

django 删除数据库表后重新同步的方法

django 删除数据库表后重新同步的方法

由于项目需要,最近在用基于Python语言的一个后端框架Django开发web应用。不得不说,Django继承了Python的简洁性,用它来开发web应用简单清爽,不同于从前的SSH框架...

python之拟合的实现

python之拟合的实现

一、多项式拟合 多项式拟合的话,用的的是numpy这个库的polyfit这个函数。那么多项式拟合,最简单的当然是,一次多项式拟合了,就是线性回归。直接看代码吧 import nump...

Python中 Global和Nonlocal的用法详解

Python中 Global和Nonlocal的用法详解

nonlocal 和 global 也很容易混淆。简单记录下自己的理解。 解释 global 总之一句话,作用域是全局的,就是会修改这个变量对应地址的值。 global 语句是一个声...