美文网首页python学习
利用pyinstaller打包python3程序

利用pyinstaller打包python3程序

作者: 遗步看风景 | 来源:发表于2017-01-27 22:55 被阅读1816次

    前面教程,推荐过cx-frezze来打包python程序,实际上,pyinstaller比cx-frezze更好用。推荐cx-frezze是因为当时pyinstaller还不支持python3。不过现在的pyinstaller已经支持python3的封装了。
    这里就来说明一下如何用pyinstaller来封装python程序。
    首先第一步要下载安装pyinstaller:
    下载地址:http://www.pyinstaller.org/
    我这里是python3.5,所以我只需要下载pyinstaller3.2.1就行。
    下载后解压出来如下:

    %EX`K4K)I(Q}FPOLR}$)9A6.png
    接着进入win系统的cmd界面,在cmd状态下进入pyinstaller文件。然后输入:
    #这里是在python里安装pyinstaller模块
    python3 setup.py install
    

    然后你得确保你的python已经下载并安装pywin32模块,如果没有请自行安装。
    接着就可以用pyinstaller了
    使用的时候要注意,和安装的时候一样需要在win的cmd模式下,且需要在pyinstaller文件下,然后输入:

    #运行刚才下载的文件里面的pyinstaller.py 后面跟着指令和路径
    python3 pyinstaller.py -F xxx.py
    

    这里需要说明几个指令以及对应的含义:
    -F 指定打包后只生成一个exe格式的文件。
    -D 和上面相反,会生成很多依赖文件(默认选项,并不推荐)
    -C 使用控制台,无界面(默认),程序运行后会有个小黑窗
    -w 注意是小写,和上面相反,使用窗口,无控制台
    -p 添加搜索路径,让pyinstaller找到对应的库
    -i 这个比较实用,可以改变生成的exe的图标

    demo:

    #以下是我经常使用的指令,也就是:生成一个exe文件,改变图标,并且无控制台
    python3 pyinstaller.py -F -w -i xxx.ico xxx.py
    

    运行完成后,就会在根目录下生成对应的文件,然后exe文件就在这个文件内。

    这里再推荐个网址,可以便捷的下载各种ico图片:http://www.easyicon.net/

    在生成exe文件的过程中可能会有报错,这里就需要根据报错来相应做一些更改,比如我有个程序用到了tk和matplotlib,生成exe之后就会报错,报错提示在maltplotlib找不到tk的某一个模块,我的解决办法是进入matplotpy直接在代码内import相应的模块,问题就解决了。

    相关文章

      网友评论

        本文标题:利用pyinstaller打包python3程序

        本文链接:https://www.haomeiwen.com/subject/mhtqittx.html