Python打包方法Pyinstaller的使用
python是一个脚本语言,被解释器解释执行。它的发布方式:
- .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装python并且安装依赖的各种库。(python官方的各种安装包就是这样做的)
- .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的python和依赖库。
- 可执行文件:对于非码农用户或者一些小白用户,你让他装个python同时还要折腾一堆依赖库,那简直是个灾难。对于此类用户,最简单的方式就是提供一个可执行文件,只需要把用法告诉ta即可。比较麻烦的是需要针对不同平台需要打包不同的可执行文件(windows,linux,mac,...)。
本文主要就是介绍最后一种方式,.py和.pyc都比较简单,python本身就可以搞定。将python脚本打包成可执行文件有多种方式,本文重点介绍pyinstaller,其它仅作比较和参考。
python版本:python3.5.2或
一、安装pyinstaller
1、安装pywin32
下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的,下载后安装
使用pip命令安装:pip install pywin32
2、安装pyinstaller
下载安装文件安装:
使用pip命令安装:pip install pyinstaller
二、使用pyinstaller
1、使用下载安装的方式安装的pyinstaller打包方式
将需要打包的文件放在解压得到的pyinstaller文件夹中,打开cmd窗口,把路径切换到当前路径打开命令提示行,输入以下内容(最后的是文件名):
python pyinstaller.py -f myfile.py
2、使用pip方式安装的pyinstaller打包方式
打开cmd窗口,把路径切换到文件所在路径(文件随便放在哪里都行)打开命令提示行,输入以下内容(最后的是文件名):
pyinstaller -f myfile.py
3、输入参数的含义
-f 表示生成单个可执行文件
-w 表示去掉控制台窗口,这在gui界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-p 表示你自己自定义需要加载的类路径,一般情况下用不到
-i 表示可执行文件的图标
三、注意事项
文件中使用了第三方库的打包方式
在打包之前务必找到第三方库的包,把包复制到到跟myfile.py同目录下,然后再使用以上2种方式打包,否则会打包失败或者即使打包成功,程序也会闪退。
下面演示一下使用了第三方库的打包方式:
找到第三方库的包,如使用了requests,可以使用查找的方式,找到这个包在哪里,然后把它复制到myfile.py同目录下
把包文件复制到myfile.py目录下
给程序换图标的方法
输入命令中添加一个-i tubiao.ico(图标的相对路径)。如图:
四、exe文件生成
如果程序打包过程没有报错,则会生成3个文件夹(有时候是2个),其中名为dist的文件夹中会有一个myfile.exe文件,运行一下,如果没有问题就打包成功,可以把这个exe文件单独拿出去用,其他的生成的文件夹可以删掉了。
其他打包工具
distribute
功能类似setuptools. 安装后会有easy_install. 支持python2和python3.
官方: https://pypi.python.org/pypi/distribute/0.7.3
已经于2013年7月5日的0.7.3版后停止开发。
distutils2
功能类似setuptools.
官方:https://pypi.python.org/pypi/distutils2/1.0a4
已经于2012年3月13日的1.0a4版后开始停止开发。
pypi上的原文: keep using setuptools and pip for now, don't use distutils2.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。