zoukankan      html  css  js  c++  java
  • PyUpdater 基于 pyinstall 的第三方自动升级包

    PyUpdater 基于 pyinstall 的第三方自动升级包

    什么是 PyUpdater ?

    一个简单的 python 自动升级库,安全高效的 app 升级应用。

    特点

    • 简单安装

    • CI/CD 支持

    • 基础自动升级

    • EdDSA 支持

    • 科学安全的在线升级

    • 稳定发布渠道

    如何使用

    安装

    $ pip install --upgrade PyUpdater

    命令

    archive

    usage: pyupdater archive [opts] filename

    optional arguments:
     -h, --help            show this help message and exit
     --name NAME           Name used when renaming binary before archiving.
     --version VERSION     Version of file
     -k, --keep            Will not delete source file after archiving

    存档命令将存档应用程序使用的外部资源,从而使你的应用得到更新。

    例子:

    $ pyupdater archive --name ffmpeg --version 2.1.4

    $ pyupdater archive --name ffmpeg --version 2.2

    build

    usage: pyupdater build [opts]<script>

    optional arguments:
     -h, --help            show this help message and exit
     --archive-format {zip,gztar,bztar,default}
     --clean               Clean build. Bypass the cache
     --app-version APP_VERSION
     -k, --keep            Will not delete executable after archiving
     --pyinstaller-log-info
                           Prints PyInstaller execution info to consoleconsole

    build 命令包装并使用 pyinstall 来创建最终可使用的执行文件。所有的选项都将传递给 pyinstall。构建后,可执行文件以 pyupdater 兼容的格式存档,并放置在 pyu-data/new 目录。如果你提供带有 alpha 或者 beta 标签的版本号,在处理中,此文件将放在相应的发布频道。注意这个修复仅仅用在稳定的发布频道。

    例子:

    # Build from python script
    $ pyupdater build -F --app-version 1.0 app.py

    # Build from spec file (see Make Spec on how to create spec files)
    $ pyupdater build --app-version 1.2 app.spec

    # Beta channel
    $ pyupdater build --app-version 1.2beta2

    Clean

    usage: pyupdater clean [-h] [-y]

    optional arguments:
     -h, --help  show this help message and exit
     -y, --yes   Confirms removal of pyu-data & .pyupdater folder

    移除 pyupdater 使用痕迹。

    例子:

    $ pyupdater clean

    Collect Debug Info

    usage: pyupdater collect-debug-info [-h]

    optional arguments:
     -h, --help  show this help message and exit

    上传 debug 日志 ,从 pyupdater 命令界面。

    例子:

    $ pyupdater collect-debug-info

    Init

    usage: pyupdater init [-h]

    optional arguments:
     -h, --help            show this help message and exit

    初始化 pyupdater 。你需要描述几个关于应用的问题。一旦完成一个配置目录一个数据目录,一个 client_config.py 文件将被创建。它将安全的删除你需要删除的文件。你可以随时升级更新创建的 client_config.py 文件。

    例子:

    $ pyupdater init

    Keys

    usage: pyupdater keys [-h] [-i] [-c] [-y]

    optional arguments:
     -h, --help    show this help message and exit
     -i, --import  Imports a keypack from the current working directory
     -c, --create  Creates keypack. Should only be used on your off-line machine
     -y, --yes     Will run command without conformation prompt

    keys命令用于创建和导入 keypack 文件。建议在离线计算机上创建密钥。Keypack 文件包含对 pyupdater 使用的元数据文件进行加密签名的密钥。可以根据需要多次创建和导入密钥。通常只有在开发机器出现问题时才需要。

    例子:

    # Create
    $ pyupdater keys --create

    # Once you initialized your repo & copied the keypack to the root of the repo.
    $ pyupdater keys --import

    Make Spec

    usage: pyupdater make-spec <script> [opts]

    optional arguments:
     -h, --help            show this help message and exit
     --pyinstaller-log-info
                           Prints PyInstaller execution info to console

    用于创建与 pyupdater 兼容的 spec 文件。

    例子:

    $ pyupdater make-spec app.py

    Pkg

    usage: pyupdater pkg [-h] [-p] [-s] [--split-version] [-v]

    optional arguments:
     -h, --help         show this help message and exit
     -p, -P, --process  Adds update metadata to version file & moves files from
                        the new to deploy directory.
     -s, -S, --sign     Sign version file
     --split-version    Creates a version manifest for the current platform only. For CI/CD
     -v, --verbose      More output messages

    Description:

    process 标志用于处理包、创建补丁(如果可能)并处理它们和更新包元数据。在处理过程中,我们收集哈希、文件大小、版本和平台信息。一旦完成,归档和修补程序(如果有的话)就会放在deploy目录中。sign 标志对包元数据进行签名,归档元数据并将这些资产放在deploy 目录中。

    例子:

    # Used to process packages. Usually ran after build or archive command
    $ pyupdater pkg -p

    # Used to sign meta-data. Can be used anytime.
    $ pyupdater pkg -S

    Plugins

    usage: pyupdater plugins [-h]

    optional arguments:

     -h, --help        shows this help message and exit

    plugins 命令显示已安装的上传插件和作者名称的列表。

    例子:

    $ pyupdater plugins

    s3 by Digital Sapphire
    scp by Digital Sapphire

    Settings

    usage: pyupdater settings [-h] [--company] [--config-path] [--http-timeout]
                             [--max-download-retries] [--patches]
                             [--plugin PLUGIN] [--show-plugin SHOW_PLUGIN]
                             [--urls]

    optional arguments:
     -h, --help            show this help message and exit
     --company             Change company name
     --config-path         Path to place your client config. You'll need to
                           import this file to initialize the update process.
     --http-timeout        Settings the timeout, in seconds, for the
                           FileDownloader
     --max-download-retries
                           Set the max number of times to try a download.
     --patches             Changed patch support
     --plugin PLUGIN       Change the named plugin's settings
     --show-plugin SHOW_PLUGIN
                           Show the name plugin's settings
     --urls                Change update urls

    更新当前存储库的配置。

    例子:

    $ pyupdater settings --urls

    $ pyupdater settings --plugin s3

    $ pyupdater settings --company

    Upload

    usage: pyupdater upload [-h] [--keep] [-s SERVICE]

    optional arguments:
     -h, --help            show this help message and exit
     --keep                Keep files after upload
     -s SERVICE, --service SERVICE
                           The plugin used for uploads

    将部署文件夹中的所有数据上载到所需的远程位置。上传程序有一个插件接口。检查安装页面中的核心插件链接。插件由安装激活。

    例子:

    # Upload to Amazon S3
    $ pyupdater upload --service s3

    # Upload to remote server over ssh
    $ pyupdater upload --service scp

    Help

    usage: pyupdater

    positional arguments:
     {archive,build,clean,collect-debug-info,init,keys,make-spec,pkg,plugins,settings,upload,version}
                           commands
       archive             Archive an asset which needs updating. Can be another
                           executable, .so, .dll, .img, etc.
       build               Compiles script or spec file
       clean               * WARNING * removes all traces of pyupdater from the
                           current repo
       collect-debug-info  Upload debug logs to github gist and return url.
       init                Initializes a src directory
       keys                Manage signing keys
       make-spec           Creates spec file
       pkg                 Manage creation of file meta-data & signing
       plugins             Shows installed plugins
       settings            Updated config settings
       upload              Uploads files
       version             Show version

    optional arguments:
     -h, --help            show this help message and exit

    展示帮助信息。

    例子:

    $ pyupdater -h

    $ pyupdater {command} -h
  • 相关阅读:
    【C语言入门教程】5.6 函数库和文件
    【C语言入门教程】5.5 实现问题(效率)
    【C语言入门教程】5.4 递归
    【C语言入门教程】5.3 函数的调用 与 参数
    【C语言入门教程】5.2 函数的作用域规则(auto, static)
    bootstrap之双日历时间段选择控件示例—daterangepicker(中文汉化版)
    PHP导出数据到CSV文件函数 csv_export()
    MySQL 5.6 Warning: Using a password on the command line interface can be insecure
    【定时任务|开机启动】Windows Server 2008/2012 计划任务配置(任务计划程序)每分钟执行BAT
    【风雪之隅】写在PHP7发布之际一些话 2015-12-02
  • 原文地址:https://www.cnblogs.com/fengshuihuan/p/14338610.html
Copyright © 2011-2022 走看看