• Windows下PyInstaller的使用教程


    直接使用Python开发的软件时有许多不方便的地方,如需要安装特定的Python环境,需要安装依赖库。为了便于部署,需要将Python源代码编译成可执行文件,编译后的可执行文件就能脱离python环境运行了。

    安装

    将py编译成可执行文件需要使用PyInstaller,需要注意,从百度搜索到的下载链接来自SourceForge,而PyInstaller的开发似乎已经转到Github上去了,因此从SourceForge上下载的版本不是最新的。

    目前最新的PyInstaller版本是2.1,最方便的安装方式是通过pip使用如下命令安装:

    pip install pyinstall

    当然,也可以通过下载源代码编译方式安装:

    python setup.py install

    安装完成后,使用如下命令可以确认版本号:

    pyinstaller --version

    如果显示Error: Python 2.6+ on Windows support need pywin32,则说明当前没有安装pywin32,安装后即可正常运行PyInstaller。
    安装pywin32时需要注意,pywin32的版本和本机Python位数和版本必须相同。

    简单使用

    最简单的使用方式是运行pyinstaller myscript.py来生成可执行文件,其中myscript.py是需要编译成可执行文件的源代码。
    通过这种方式生成的可执行文件默认位于当前文件夹的dist目录下的myscript目录中,该目录下除了有exe文件外,还有若干个其他文件,这些文件都是运行时必须的。
    编译完成后可以删除build文件夹,该文件夹存放的是编译过程中的生成的临时文件

    如果希望编译出的exe文件不依赖其他文件,可以添加-F选项:

    pyinstaller -F myscript.py

    编译出的单独的exe文件在启动时速度上略慢于编译成文件夹方式。因为在执行单独的exe时会将资源先释放到临时文件夹中再执行。

    常用选项

    –distpath=path_to_executable

    指定生成的可执行文件存放的目录,默认存放在dist目录下

    –workpath=path_to_work_files

    指定编译中临时文件存放的目录,默认存放在build目录下

    –clean

    清理编译时的临时文件

    -F, –onefile

    生成单独的exe文件而不是文件夹

    -d, –debug

    编译为debug模式,有助于运行中获取日志信息

    –version-file=version_text_file

    为exe文件添加版本信息,版本信息可以通过运行pyi-grab_version加上要获取版本信息的exe文件的路径来生成,生成后的版本信息文件可以按需求修改并作为--version-file的参数添加到要生成的exe文件中去

    i <FILE.ico>, -i <FILE.exe,ID>, –icon=<FILE.ico>, –icon=<FILE.exe,ID>

    为exe文件添加图标,可以指定图标路径或者从已存在的exe文件中抽取特定的ID的图标作为要生成的exe文件的图标

    另外,还可以通过spec文件来生成可执行文件,运行pyi-makespec options script [script ...]可以生成spec文件,修改spec文件后执行:

    pyinstaller specfile
    
    或者
    
    pyi-build specfile

    就可以生成可执行文件了。

    spec文件方式生成可执行文件提供了更多的定制选项,包括自定义python库的位置,要打包的其他文件路径等等。

     

  • 相关阅读:
    Maven项目打包时指定配置策略
    使Jackson和Mybatis支持JSR310标准
    Java 8的Time包常用API
    MySQL 聚集拼接
    将List<E>内对象按照某个字段排序
    判断List<E>内是否有重复对象
    eclipse中Maven项目启动报错“3 字节的 UTF-8 序列的字节 3 无效。”
    控制层@Value注解取不到值
    IntelliJ IDEA实时代码模板
    OD: Exploit Me
  • 原文地址:https://www.cnblogs.com/brady-wang/p/9759259.html
Copyright © 2020-2023  润新知