迁移到 Windows 本地执行定时任务

ko-fi

创建虚拟环境

1
2
cd /d C:\tasks\myrepo
python -m venv .venv

激活虚拟环境

CMD:

1
.venv\Scripts\activate.bat

PowerShell:

1
.venv\Scripts\Activate.ps1

安装依赖

1
pip install -r requirements.txt

python 指向哪里

CMD:

1
where python

PowerShell:

1
Get-Command python

错误

signal.signal(signal.SIGALRM, timeout_handler)
^^^^^^^^^^^^^^
AttributeError: module ‘signal’ has no attribute ‘SIGALRM’. Did you mean: ‘SIGABRT’?

方案 :判断平台,仅在非 Windows 使用 SIGALRM

1
2
3
4
5
6
7
8
9
import signal
import platform

def timeout_handler(signum, frame):
raise TimeoutError("操作超时")

if platform.system() != "Windows":
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(10)

更新单个pip包

1
pip install --upgrade 包名

查看哪些包可以更新

1
pip list --outdated

想把 requirements.txt 里的包都更新到最新版本

1
pip install -r requirements.txt --upgrade