如何将Python项目打包并在Azure上配置每小时定时运行
步骤1:Python项目本地打包与预处理
- 先整理项目结构,确保主运行文件(例如
main.py)和所有依赖支持文件都在同一个根目录下,所有内部文件调用统一使用相对路径,避免硬编码绝对路径导致部署后路径匹配错误。 - 生成项目依赖清单:打开终端进入项目根目录,运行
pip freeze > requirements.txt,确保所有用到的第三方库都被正确录入清单。 - 本地验证项目可用性:新建空的Python虚拟环境,依次运行
pip install -r requirements.txt、python main.py,确认项目运行正常无报错。 - 若需要将项目打包为可分发的安装包,可在根目录新增
setup.py配置文件后运行python setup.py sdist bdist_wheel,生成的安装包会存放在自动生成的dist目录下;直接部署到Azure无需这一步,上传源码即可。
步骤2:创建Azure定时运行资源(推荐使用Azure Functions服务器less方案,成本低配置快)
- 登录Azure门户,搜索进入「函数应用」服务,点击「创建」。
- 基础信息配置:选择对应订阅、资源组,自定义函数应用名称,运行时栈选择Python,版本匹配你本地开发使用的Python版本,操作系统选Linux,区域选择离你最近的节点,计划类型选「消耗(服务器less)」,按实际调用量计费,低频次运行成本极低。
- 其余配置保持默认即可,点击「审阅+创建」,等待资源部署完成后点击「转到资源」。
- 如果你的项目有复杂的系统级依赖,也可以选择将项目打包为Docker镜像,部署到Azure容器实例搭配Azure逻辑应用实现定时触发,纯Python依赖的项目优先选Azure Functions方案即可。
步骤3:上传项目并配置每小时定时规则
- 在已创建的函数应用左侧菜单栏,找到「开发工具」分类下的「App Service编辑器」,点击「前往」打开在线代码编辑器。
- 清空编辑器左侧默认生成的所有文件,将本地项目根目录下的所有文件(包含
requirements.txt)直接拖拽到左侧文件区完成上传。 - 在项目根目录新建名为
function.json的触发配置文件,写入以下内容:
{ "scriptFile": "main.py", "bindings": [ { "name": "mytimer", "type": "timerTrigger", "direction": "in", "schedule": "0 0 * * * *" } ] }
配置项中的
schedule为cron定时表达式,上述配置0 0 * * * *即代表每小时整点触发一次,匹配你的需求。
- 回到函数应用左侧菜单栏,找到「设置」分类下的「配置」,在「常规设置」栏找到「启动命令」,填入
pip install -r requirements.txt,保存后等待应用自动重启。
步骤4:验证运行状态
- 进入函数应用「概述」页,点击「测试/运行」手动触发一次运行,查看运行日志确认业务逻辑执行正常无报错。
- 到下一个整点后,进入「监控」菜单栏查看运行记录,确认定时触发正常即可。
内容的提问来源于stack exchange,提问作者Hashtag
相关产品推荐
相关产品推荐

