轻量级库,用于使用pyinstaller冻结的应用程序的软件自动更新
updater4pyi的Python项目详细描述
UpDea4Ppy
ExtReStudioStudioStudioStudio= BR/> BR/> UPDATE4PYI是一个简单、轻量级、灵活的Python库,使您的BySturver打包的
应用程序能够自动更新自己。
BR/>它的设计非常灵活,因此它可以与各种“源”一起工作,例如
GITHUB存储库,但您也可以轻松地编写自己的源代码。
更新过程在
windows、linux和mac os x上为一个文件和一个目录打包的应用程序运行。
Pyqt4中提供了一个接口以及控制台应用程序的一个接口,但是为另一个gui系统(wxwidgets…)编写一个接口应该需要几行代码。
=因此,建议通过
进行安装。
您还需要为pyinstaller安装一个钩子。如果您在项目中有一个自定义的hook目录,那么可以将名为
`hook-updater4pyi.py`的文件放在那里;否则,请找到pyinstaller`hooks`
目录并在那里复制文件`hook-updater4pyi.py'。
您需要:
-描述在哪里查找更新(the*sources*)
-实例化更新程序,为其提供相应的源
-创建一个接口,该接口将与用户交互。
例如,[bibolamazi项目](https://github.com/phfaist/bibolamazi)
使用updater4pyi框架,并且其中的相关行有:
from updater4pyi import upd庠source,upd庠core
from updater4pyi.upd庠iface庠pyqt4 import UpdatePyQt4Interface
swu庠source=upd庠source.UpdateGithubReleasesSource('phfaist/bibolamazi')
swu庠updater=upd庠core.updater(当前版本=。。。,
update_source=swu_source
swu_interface=updatepyqt4interface(swu_updater,
progname='bibolamazi',
ask_before_checking=true,
parent=qapplication.instance())
然后,您需要确保pyinstaller可以找到updater4pyi,即它已经在您的python路径中。
sources
=
请参阅upd_source.UpdateGithubReleasesSource您可以将
命名模式指定为regexp,以将发行版文件与相应的
平台
-本地目录源(用于调试)
匹配。但是,编写自己的源代码很简单查看“upd_source.py”
获得一个想法。如果您这样做了,那么将它贡献给updater4pyi
,这样其他人就可以获利了!
安全性
==
此库支持通过带证书验证的https下载,
使下载和更新过程安全。默认的根证书是随此包提供的
,如果需要,可以更改为包括自定义的根证书。
interfaces
===
目前,有以下接口可供更新:
-一个简单的控制台接口,在每个程序启动时运行,这会提示
用户检查更新。不是很有用,更多的是用于调试。
-一个功能齐全的抽象gui通用接口。此接口不依赖于任何gui,并抽象出需要由子类实现的任务,如定时、保存设置和消息框。这个类是用来作为基类为其他GUI系统(wxWidgets,…)
编写更新程序接口的类,PyQt4接口是基于前面提到的通用GUI接口提供的。
ExtReStudioStudioStudioStudio= BR/> BR/> UPDATE4PYI是一个简单、轻量级、灵活的Python库,使您的BySturver打包的
应用程序能够自动更新自己。
BR/>它的设计非常灵活,因此它可以与各种“源”一起工作,例如
GITHUB存储库,但您也可以轻松地编写自己的源代码。
更新过程在
windows、linux和mac os x上为一个文件和一个目录打包的应用程序运行。
Pyqt4中提供了一个接口以及控制台应用程序的一个接口,但是为另一个gui系统(wxwidgets…)编写一个接口应该需要几行代码。
进行安装。
您还需要为pyinstaller安装一个钩子。如果您在项目中有一个自定义的hook目录,那么可以将名为
`hook-updater4pyi.py`的文件放在那里;否则,请找到pyinstaller`hooks`
目录并在那里复制文件`hook-updater4pyi.py'。
您需要:
-描述在哪里查找更新(the*sources*)
-实例化更新程序,为其提供相应的源
-创建一个接口,该接口将与用户交互。
例如,[bibolamazi项目](https://github.com/phfaist/bibolamazi)
使用updater4pyi框架,并且其中的相关行有:
from updater4pyi import upd庠source,upd庠core
from updater4pyi.upd庠iface庠pyqt4 import UpdatePyQt4Interface
swu庠source=upd庠source.UpdateGithubReleasesSource('phfaist/bibolamazi')
swu庠updater=upd庠core.updater(当前版本=。。。,
update_source=swu_source
swu_interface=updatepyqt4interface(swu_updater,
progname='bibolamazi',
ask_before_checking=true,
parent=qapplication.instance())
然后,您需要确保pyinstaller可以找到updater4pyi,即它已经在您的python路径中。
sources
=
请参阅upd_source.UpdateGithubReleasesSource您可以将
命名模式指定为regexp,以将发行版文件与相应的
平台
-本地目录源(用于调试)
匹配。但是,编写自己的源代码很简单查看“upd_source.py”
获得一个想法。如果您这样做了,那么将它贡献给updater4pyi
,这样其他人就可以获利了!
安全性
==
此库支持通过带证书验证的https下载,
使下载和更新过程安全。默认的根证书是随此包提供的
,如果需要,可以更改为包括自定义的根证书。
interfaces
===
目前,有以下接口可供更新:
-一个简单的控制台接口,在每个程序启动时运行,这会提示
用户检查更新。不是很有用,更多的是用于调试。
-一个功能齐全的抽象gui通用接口。此接口不依赖于任何gui,并抽象出需要由子类实现的任务,如定时、保存设置和消息框。这个类是用来作为基类为其他GUI系统(wxWidgets,…)
编写更新程序接口的类,PyQt4接口是基于前面提到的通用GUI接口提供的。