将python程序打包成exe,个人结合网络汇总

相信大家都知道,Python被称为最简单的编程语言,以其简单、优美而著称。Python越来越被大家所关注,随着越来越多的人开始学习Python代码大家其实或多或少都会遇到一些问题,而今天我们要来解决的问题就是将Python文件打包成为一个可以执行的EXE文件,就像QQ、微信只需要点一下就可以执行,方便快捷。

那么如何将Python文件打包成为一个EXE文件呢?

首先就需要使用一个工具:pyinstaller,据说是一个人自己编写的工具(详情可以百科一下)

目前有的系统是windows10,所以今天就以windows10来做例子!

将python程序打包成exe,个人结合网络汇总_第1张图片

首先是安装,安装就仅仅需要输入以上代码就可以安装了。但是如果你Python环境都没配置好,那么问题就不一样了,先配置好环境再说!!!

环境配置好的朋友继续往下看:

按下回车键等待安装,可能会需要一会会时间耐心一点。

安装完成之后就会出现一大段话,但是你不要管他,如果你看得懂自然知道已经安装成功了,看不懂也没关系你只需要看到一个单词就可以了,就是他:successfully ,只要看到这个单词那么OK,肯定是安装成功了。

安装成功后就简单了,打开命令提示符窗口,进入到需要打包的Python文件的文件夹

这里提示一下,有些朋友没有学习过linux系统,可能不懂得一些终端命令。

1. 切换到C盘根目录

打开终端cmd后,输入cd C:\(一定要加上后面的反斜扛)


2.切换到C盘子目录

打开终端cmd后,输入cd C:\dir1(切换到C盘下目录dir1)


3.切换到其他盘根目录

打开终端cmd后,输入D:(不需要加cd,一定不要加反斜扛)


4.切换到其他盘子目录

打开终端cmd后,先切换到根目录,再使用cd命令切换到子目录

以上切换方式的原文链接:https://blog.csdn.net/ylh071032/article/details/53431297

将python程序打包成exe,个人结合网络汇总_第2张图片

切换好了目录以后就容易了,紧接着输入:pyinstaller -F 购物系统.py(要打包的EXE文件的名字)

 将python程序打包成exe,个人结合网络汇总_第3张图片

那么现在了看看我们的购物系统文件夹下有什么吧!

 将python程序打包成exe,个人结合网络汇总_第4张图片

 里面有源码文件就是购物系统.py,有素材文件就是jpg图片,还有三个文件夹以及一个你不认识的购物系统.spec文件。

其中_pycache_,build,dist 这三个文件夹都是打包过程中自动生成的,并不是原先存在的,现在就来说说打包一个EXE生成的这四个东西分别有什么用!

1.   __pycache__ 生成的临时pyc项目文件。

2. build里都是些日志以及生成过程中用到的文件(如果你打包后的EXE运行有问题,你厉害的话可以查里面的日志找到错误点,日志全英文(找关键词error)

3. dist文件夹存放生成后的exe文件(你生成的EXE文件就在里面,不过如果你的EXE文件里有路径,那么别在这里运行(不然你就傻了),因为会找不到路径,欢迎去了解一下绝对路径和相对路径的区别!!!)

4. 购物系统是生成后的文件名,所以购物系统.spec是他生成时的配置文件。

那么整套的打包流程就结束了,但是接下来的才是高级编程师要看的,上面的仅仅是打包单个文件,而且打包出来的EXE连个图标都没有,就是给新手用的!!!

想要知道更高级的玩法,那么就必须了解pyinstaller的参数使用了

-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护
-K, –tk 在部署时包含 TCL/TK
-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
-d, –debug 产生debug版本的可执行文件
-w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-c,–nowindowed,–console

使用控制台子系统执行(默认)(只对Windows有效)

pyinstaller -c  xxxx.py

pyinstaller xxxx.py --console

-s,–strip 可执行文件和共享库将run through strip.注意Cygwin的strip往往使普通的win32 Dll无法使用.
-X, –upx 如果有UPX安装(执行Configure.py时检测),会压缩执行文件(Windows系统中的DLL也会)(参见note)
-o DIR, –out=DIR 指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下.
-p DIR, –path=DIR 设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源
–icon=

将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标  pyinstaller -i  ico路径 xxxxx.py

–icon= 将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)
-v FILE, –version=FILE 将verfile作为可执行文件的版本资源(只对Windows系统有效)
-n NAME, –name=NAME 可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字

上表转自:pyinstaller参数介绍以及总结 - xiondun - 博客园

温馨提示:在代码当中尽量不要用import,能from.....import....就尽量用这个,如果是import的话,在打包的时候,会将整个包都打包到exe里面,那么就会增大工打包后的EXE的大小!(如果Python基础学的扎实的话,很清楚import  和 from .... import... 的区别,学编程基础真的很重要,基础学好,对后面的编程真的很舒服)

上面的参数直接加就可以了,不要怕,我就示范一下:

将python程序打包成exe,个人结合网络汇总_第5张图片

看到了吧,加了三个参数。

以上就是Pyinstaller的基本使用了,如果你需要打包多个Python文件,或者打包的文件关联多个Python文件,那么问题还有很多,不过在打代码的路上不可能总是一帆风顺,那样也太没难度了,你说呢? 

你可能感兴趣的:(python,pyinstaller,exe)