自动更新Python脚本

2023-12-09

我为 pyload 编写了 2-3 个插件。 有时它们会发生变化,我通过论坛让用户知道有新版本。

为了避免这种情况,我想为我的脚本提供自动自我更新功能。https://github.com/Gutz-Pilz/pyLoad-stuff/blob/master/FileBot.py

这么容易设置的东西吗?

或者有人可以给我指出一个方向?

提前致谢!


这是可能的,但有一些注意事项。但它很容易变成非常复杂。在您不知不觉中,您的自动更新“功能”将比原始代码更大!

首先你需要有一个 URLalways包含最新版本。由于您正在使用 github,因此使用raw.githubusercontent可能会做得很好。

让您的代码从该 URL 下载最新版本(例如使用requests),并将该版本与当前代码中的版本进行比较。为此,我建议使用简单的整数版本号,因此您不需要任何复杂的解析逻辑。

但是,您可能需要考虑每天或每周只运行一次该检查。如果每次运行文件时都这样做,服务器可能会受到重击!因此,现在您必须保存一个文件,其中包含上次完成检查的日期,并读取该文件以查看是否需要再次运行检查。该文件需要保存在您可以在代码可能运行的每个平台上访问的位置。这本身就是一个挑战。

如果它只是一个单独的 python 文件,并且以运行它的用户身份安装,则更新相对容易。但是,如果原始版本以 root 身份安装在全局 Python 目录中,并且您的脚本以非特权用户身份运行,则会很困难。特别是如果它作为插件运行并且无法要求用户提供(临时)根凭据来安装文件。

如果新版本在标准库之外有更多依赖项,您该怎么办?

最后但并非最不重要的一点是,作为系统管理员,我不太喜欢自动更新软件。特别是对于关键的系统基础设施,我希望能够估计后果before更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动更新Python脚本 的相关文章

  • CVXPY 二次规划; ArpackNoConvergence 错误

    我尝试使用 Python 包 CVXPY 来解决第一种形式的凸二次规划问题 https www cvxpy org examples basic quadratic program html https www cvxpy org exam
  • Django:将博客条目查看次数增加一。这有效率吗?

    我的索引视图中有以下代码 latest entry list Entry objects filter is published True order by date published 10 for entry in latest ent
  • 如何测试使用 XCom 的 Apache Airflow 任务

    我正在尝试找出一种测试 DAG 的方法 其中有几个任务使用 XCom 进行通信 由于控制台命令只允许我从 DAG 运行任务 有没有一种方法可以测试通信而无需通过 UI 运行 DAG Thanks 这是一种对我有用的方法 尽管 Airflow
  • 重新索引错误没有意义

    I have DataFrames大小在 100k 到 2m 之间 我正在处理这个问题的框架是如此之大 但请注意 我必须对其他框架执行相同的操作 gt gt gt len data 357451 现在这个文件是通过编译许多文件创建的 所以它
  • 如何为 Intellij/PyCharm 设置 PYTHONSTARTUP 脚本

    我尝试添加PYTHONSTARTUP环境变量 我还尝试了自定义启动脚本 但更令人惊讶的是 这also没有工作 npa别名无法识别 出于一点绝望 我什至尝试添加到interpreter options 那什么也没做 实际上是什么Interpr
  • scipy.misc.imshow RuntimeError('无法执行图像视图')

    我正在测试scipy misc imshow https docs scipy org doc scipy 0 15 1 reference generated scipy misc imshow html我得到了运行时错误 无法执行图像查
  • 如何移动我的图像? python 3.10.4 pygame

    我会移动我的图像 图像是matiskinfinal png 我尝试将像素添加到 x 或其他我不知道它是什么的东西 因为我真的是 python 的初学者 pygame但是是 x x 变化 但图像没有移动 import os import py
  • 如何使用 HTTP 标头发送非英语 unicode 字符串?

    我是 HTTP 相关问题的新手 我的问题是在 iOS 开发中 我想使用 HTTP 标头发送一个字符串 所以我使用 httpRequest setValue nonEnglishString forHTTPHeaderField custom
  • Windows Defender 检测 Python EXE 为木马

    我制作了一个 Python 脚本 将 Windows 目录以 zip 形式邮寄给我 我使用 sched 模块添加了一个调度程序 每小时重复一次 我试图制作一个简单的同步应用程序供个人使用 在 Windows 启动时启动 我使用将其转换为 e
  • 如何在Python中求和

    我想知道如何在 python 中表示总和而不需要像这样的循环here http docs scipy org doc scipy reference tutorial optimize html 我们有 def rosen x The Ro
  • 如何使用 xlrd 将新列和行添加到 .xls 文件

    如何向 xlrd 中的工作表添加新列和 或行 我有一个使用 open workbook 读取的 xls 文件 我需要在第一张表中添加一个新列 bouncebacks 然后在该表中添加新行 但我在 xlrd 文档中找不到任何显示如何添加新行和
  • 使用 3d 对象作为 3d 散点图中的标记 - Python

    使用下面的代码 我尝试模拟一个用罐头制成的碗 我希望每个标记都是一个罐头 最好的方法是什么 我真的很感激任何建议 谢谢 import pylab import numpy as np from math import pi sin cos
  • 如何为 Python 中的应用程序设置专用屏幕区域?

    MS OneNote 就是一个很好的例子 它可以选择固定在屏幕的一侧 并将所有其他窗口推到一侧 当最大化或调整其他窗口大小时 它们只能扩展到 OneNote 的边缘 Python 使用 Tkinter 或其他模块是否具有此功能 感谢您的帮助
  • 如何在 Pytorch 中将一维 IntTensor 转换为 int

    如何将一维 IntTensor 转换为整数 这 IntTensor int 给出错误 KeyError Variable containing 423 torch IntTensor of size 1 我所知道的最简单 最干净的方法 In
  • PyCharm - 如何挂起所有线程

    我们使用 PyCharm 5 0 1 进行多线程调试 当它在断点处停止时 只有特定线程停止 而所有其他线程继续 这使得 冻结时刻 和检查参数值以及其他线程的当前状态变得困难 当其中一个线程在断点处停止时 是否可以挂起所有线程 这在最新的 P
  • 如何可视化多维数据上的 kmeans 聚类

    我在 mnist 数据集上使用 kmeans 聚类算法 并希望可视化聚类后的图 到目前为止我做了这个 from mnist import MNIST mndata MNIST Datasets X train y train mndata
  • Pip 突然使用了错误版本的 Python

    在 os x 上使用 pip 时遇到一个奇怪的问题 据我所知 快速查看我的 bash history 似乎可以确认 我最近没有对我的配置进行任何更改 唉 pip 命令似乎突然使用了与以前不同的 python 版本 到目前为止 我使用命令 p
  • Matplotlib 中的 TwoSlopeNorm 未按预期工作

    我正在尝试创建一个具有发散颜色图的绘图 该颜色图在零附近不对称 In this https stackoverflow com a 20146989 6288682例如 DivergingNorm函数被使用并产生我想要的 然而 我使用的是更
  • 在多个图表上绘制一条线

    I don t know how this thing is called or even how to describe it so the title may be a little bit misleading The first a
  • 在至少 7 天内连续三天登录该产品的用户

    我有一个用于用户参与的数据框 df 如下所示 time stamp user id 2013 01 01 10 05 23 1 2013 01 03 16 35 23 1 2013 01 06 11 06 35 1 2013 01 10 1

随机推荐

  • Blob 存储 403 未经授权

    我们在同一计划下在 Azure Web 应用程序上托管了多个后端 API 所有API具有相同的出站ip 并且所有这些API都启用了访问限制 这些API只能在api网关内访问 我们有 blob 存储 我们还对其启用了限制 网络 从选定的虚拟网
  • DCG prolog 测试几个句子

    如果我有下面的代码 我将如何让它产生Answer 5 and Answer2 10 我跑向目标 test Data lpsolve Data Answer1 Answer2 use module library clpfd test the
  • Java通过控制台创建文件时出错

    我想使用此代码通过java中的cmd创建一个文件 Runtime getRuntime exec mkdir C Users Nick test 我收到这个恼人的错误 Exception in thread main java io IOE
  • 如何访问CodeIgniter用户定义的模型?

    当我想在自定义用户定义库内的 CodeIgniter 中访问用户定义模型的函数时 它会抛出 调用非对象上的成员函数 Set where 虽然我通过在该库中使用它来加载模型 CI get instance CI gt load gt mode
  • 如何使PyCharm通过另一个文本处理程序管道输出python程序

    我找不到让 PyC harm 管道处理我的 Python 程序的输出的方法 具体来说 我正在使用bunyan 蟒蛇班扬移植自诺德 班扬 从我的程序中 它生成 JSON 日志到 stderr Python代码 logger info nick
  • Catplot 与 Seaborn,并排

    我使用下面的代码用 Seaborn 绘制猫图 其工作正常 sns catplot data df gol x MODALIDADE DO VOO y VALOR row DESTINO kind box height 3 aspect 1
  • 如何使用接口将composite-id 映射到流畅的nhibernate?

    我正在尝试切换出去 hbm映射到流式映射 并且复合 ID 的映射和接口的使用存在问题 该类如下所示 public class ClassWithCompositeId public virtual IKeyOne KeyOne get se
  • 应用程序验证程序报告调用 ShellExecuteEx 时的访问冲突

    简洁版本 应用程序验证程序表示运行代码时存在访问冲突 var shi TShellExecuteInfo begin shi Default TShellExecuteInfo shi cbSize SizeOf TShellExecute
  • 找不到 Android 支持包

    我已经检查了所有这些文章 但我仍然不明白为什么我找不到 Android 支持包 库 找不到 Android 支持包 SDK 管理器中不存在 Android 支持包 在 Android SDK 管理器中找不到支持包 在 Android SDK
  • Python 全局变量未更新

    我是 Python 和编程新手 但我似乎无法理解为什么这个函数不更新全局变量 global weight weight value def GetLiveWeight SetPort while interupt False port wr
  • 使用AJAX显示php生成的图像

    我有一个随机生成图像的 php 脚本 像这样的东西 我的 html 看起来像这样 img src models plugins image php
  • Axios get in url 有效,但第二个参数作为对象则无效

    我正在尝试将 GET 请求作为第二个参数发送 但它在作为 url 时不起作用 这有效 GET naam 返回测试 export function saveScore naam score return function dispatch a
  • DeprecationWarning: 在 Windows 10 系统上通过 Selenium 使用 ChromeDriver 和 Chrome 时使用选项而不是 chrome_options 错误

    尝试在我的 Windows 10 机器上运行此代码https github com KalleHallden reddit automations blame master movie tickets py from selenium im
  • 解析没有列的空文件

    我有一个函数可以读取文本文件 然后将其解析为数据帧 通常输入文件将是这样的 A B M 1 2 100 2 1 20 我希望能够解析一个不包含任何内容的文本文件 并返回一个空数据框 但它不允许我这样做 并且使用 python pandas
  • PHP不使用数组触发AJAX错误代码

    我希望能够获取通过 AJAX 调用的 PHP 脚本 并返回 jQuery AJAX 处理程序的错误代码error 会处理的 我不想使用 JSON 数组 我想保持它尽可能干净 有人能指出我正确的方向吗 Thanks James 如果您想触发
  • 通过html链接将参数传递给程序

    我需要通过单击 html 链接从本地用户的文件系统运行程序 当我使用这个时 a href CLICK a 效果很好 但是当我尝试将参数传递给 exe 文件时 它失败了 a href CLICK a 任何人都知道如何传递参数 Thanks U
  • 无法使用 QtWebEngine 获得 mp3 支持

    我从 git 源代码构建了 QtWebEngine 5 7 1 以获得专有编解码器的支持 我将 WEBENGINE CONFIG use proprietary codecs 写入qtwebengine pro 当 qmake 配置项目时
  • 需要 CSS 侧边栏高度随内容扩展

    我有一个两列布局 右侧有一个灰色侧边栏 当左栏的高度增加时 由于内容动态扩展 我需要扩展侧边栏的高度 我可以使侧边栏适合静态页面 但无法使其随着页面其余部分的大小而增加 做了一些谷歌搜索 但找不到适合我的解决方法 有谁知道如何做到这一点 这
  • Numpy:当所有数组具有相同长度时创建 numpy 数组的一维数组

    我希望能够将现有的二维数组转换为数组的一维数组 我能找到的唯一方法是使用类似的东西 my 2d array np random random 5 3 my converted array np zeros len my 2d array d
  • 自动更新Python脚本

    我为 pyload 编写了 2 3 个插件 有时它们会发生变化 我通过论坛让用户知道有新版本 为了避免这种情况 我想为我的脚本提供自动自我更新功能 https github com Gutz Pilz pyLoad stuff blob m