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

相关文章

详解Python中类的定义与使用

类顾名思义,就是一类事物、或者叫做实例,它用来描述具有共同特征的一类事物。我们在python中声明类的关键词是class,类还有功能和属性,属性就是这类事物的特征,而功能就是它能做什么,...

pandas系列之DataFrame 行列数据筛选实例

pandas系列之DataFrame 行列数据筛选实例

一、对DataFrame的认知 DataFrame的本质是行(index)列(column)索引+多列数据。 为了简化理解,我们不妨换个思路… 现实中,为了简化对一件事物的描述,我们会...

跟老齐学Python之开始真正编程

跟老齐学Python之开始真正编程

通过对四则运算的学习,已经初步接触了Python中内容,如果看官是零基础的学习者,可能有点迷惑了。难道在IDE里面敲几个命令,然后看到结果,就算编程了?这也不是那些能够自动运行的程序呀?...

python编程实现希尔排序

python编程实现希尔排序

观察一下”插入排序“:其实不难发现她有个缺点:   如果当数据是”5, 4, 3, 2, 1“的时候,此时我们将“无序块”中的记录插入到“有序块”时,估计俺们要崩盘,每次插入都要移动位置...

Python程序设计入门(3)数组的使用

1、Python的数组可分为三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素。定义方式:arr = [元素] (2) Tuple 固定的数组,一旦定义后,其...