• Python程序打包—pyinstaller


    简介:PyInstaller是一个十分有用的第三方库,通过对源文件打包,Python程序可以在没有安装 Python的环境中运行,也可以作为一个独立文件方便传递和管理。

    PyInstaller的官方网站址为http://www.pyinstaller.org/

    安装:在命令行使用pip install pyinstaller安装即可。(win+r,输入cmd,打开命令行)

    使用:使用 PyInstaller库十分简单,假设python_test在D盘根目录下,则只需在命令行敲入如下指令:

    >pyinstaller D:python_test.py

    执行完成后,将会生成dist和build两个文件夹。(文件生成位置与cmd起始位置有关)其中 ,build 目录是 pyinstaller存储临时文件的目录,可以安全删除。最终的打包程序在dist内部的python_test文件夹下。目录中其他文件是可执行文件python_test.exe的动态链接库。

    常用参数的使用方法如下:

    (1)-h

    pyinstaller 命令的常用参数使用通过在命令行中输入: >pyinstaller –h即可,截取常用其中一段如下图所示:

     

    (2)-i 或者--icon   && -w

    例如:--icon参数的使用如下:(指定打包程序使用的图标文件)

    >pyinstaller -F --icon="D:a.ico" D:python_test.py

    >pyinstaller -F -w -i D: mpmain.ico D:python_test.py

    -F 表示生成单个可执行文件,执行后dist目录中出现了python_test.exe文件,没有任何依赖库,执行它即可。
    -w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
    -i 表示可执行文件的图标

    使用 PyInstaller库需要注意以下问题:

    ◆ 文件路径中不能出现空格和英文句号(.);

    ◆ 源文件必须是UTF-8编码,暂不支持其他编码类型。采用IDLE编写的源文件都保存为UTF -8编码形式,可直接使用即可。

    使用python3打包时,注意pyinstaller 模块包名称变成PyInstaller

    PyInstaller -F xxx.py

    相对路径问题:No such file or directory: 'C:Users...AppDataLocalTemp\_MEI***'

    使用pyinstaller打包时,如果脚本中相对路径会报错,是因为转换为exe后,只有一个exe文件了,而exe文件执行时,会将资源释放到temp文件夹下再执行,但是原来的数据文件st并没打包和释放,这样就会找不到文件。

    简单解决方法:

    最后发现比较简单的解决方案只要将python代码中的数据文件拷贝到dist文件夹下,如dist/data/stopwordsFile.txt,在python代码中读取文件时文件路径为stopwordsFile=r"data/stopwordsFile.txt"就可以了。

     可参考:https://blog.csdn.net/pipisorry/article/details/50620495

    转自:http://blog.csdn.net/i_chaoren/article/details/56019823

  • 相关阅读:
    Http接口安全设计
    RTMP服务器搭建(nginx+rtmp)
    OSI七层协议详解
    TCP协议的3次握手与4次挥手过程【深度详解】
    new和delete的深层次剖析(C++)
    大小端模式详解
    MP4文件格式分析及分割实现(附源码)
    使用HBuilder将H5的项目打包成手机可安装的webapp程序(.apk)
    Centos7 解决odoo10打印条形码显示方框乱码的问题
    linux 中运行Django项目
  • 原文地址:https://www.cnblogs.com/who-care/p/8432039.html
Copyright © 2020-2023  润新知