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

相关文章

Python基础语法(Python基础知识点)

Python与Perl,C和Java语言等有许多相似之处。不过,也有语言之间有一些明确的区别。本章的目的是让你迅速学习Python的语法。 第一个Python程序: 交互模式编程: 调用...

Python中二维列表如何获取子区域元素的组成

Python中二维列表如何获取子区域元素的组成

用过NumPY的应该都知道,在二维数组中可以方便地使用区域切片功能,如下图: 而这个功能在Python标准库的List中是不支持的,在List中只能以一维方式来进行切片操作: 但有时...

用python一行代码得到数组中某个元素的个数方法

想法由来 今天写代码过程中遇到一个需求,计算一个list中数值为1的元素的个数,其中这个list的元素数值不是为0就是为1。 一开始想到的是写个方法来计算: # 返回一个0,1数组中...

使用Python编写一个模仿CPU工作的程序

今天早上早些时候,在我的Planet Python源中,我读到了一篇有趣的文章"开发CARDIAC:纸板计算机(Developing upwards: CARDIAC: The Card...

对Pyhon实现静态变量全局变量的方法详解

python不能像C++一样直接定义一个static变量或者通过extern来导入别的库的变量而实现数据共享,但是python的思想是通过模块化来解决这个问题,就是通过模块来实现全局变量...