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使用matplotlib绘图时图例显示问题的解决

python使用matplotlib绘图时图例显示问题的解决

前言 matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。在使用Python matplotlib库绘制数据图时,需要使用图例标注数据类别,但是传...

Python 学习笔记

可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/11/03/python-memo/以及本声明。 基本概念 Pytho...

python实现马耳可夫链算法实例分析

本文实例讲述了python实现马耳可夫链算法的方法。分享给大家供大家参考。具体分析如下: 在《程序设计实践》(英文名《The Practice of Programming》)的书中,第...

Python+selenium点击网页上指定坐标的实例

Python+selenium点击网页上指定坐标的实例

例如有些页面元素很难获取,但是位置很固定,那么可以直接用坐标来进行操作 例如要对页面上的(x:200, y:100)进行操作,可以用如下代码: from selenium impor...

python用fsolve、leastsq对非线性方程组求解

背景: 实现用python的optimize库的fsolve对非线性方程组进行求解。可以看到这一个问题实际上还是一个优化问题,也可以用之前拟合函数的leastsq求解。下面用这两个方法进...