声明
经本人试验,云端部署成功。但考虑到出现的各种奇葩问题,不一定在你那边就行,这里只提供大致的方向。
前提工作
这里假设你已经在本地已经可以运行,运行情况如下:
接下来需要在云端部署,让老师通过链接就可以访问你的内容。
配置步骤
1.python包的安装
在python代码处,你可能使用了import pymssql,这个pymssql是我们通过pip安装的,服务器里面的python 环境并没有安装。
通过查询https://docs.microsoft.com/zh-cn/azure/app-service/configure-language-python#customize-build-automation知道可以自定义生成自动化其中需要关注的变量是SCM_DO_BUILD_DURING_DEPLOYMENT和PRE_BUILD_COMMAND。
他们的具体含义可以查询:https://github.com/microsoft/Oryx/blob/main/doc/configuration.md。
操作指南:https://docs.microsoft.com/en-us/azure/app-service/configure-common#configure-connection-strings
具体操作:
设置 SCM_DO_BUILD_DURING_DEPLOYMENT 设置为 1
设置PRE_BUILD_COMMAND 设置为 pip install -r requirements.txt
哈哈,这个只需要安装一遍就行,当后面部署完后,可以把这些变量删除。
我甚至怀疑,不需要设置这些变量,直接在requirements.txt里改也行。可以多多尝试。
2.修改requirements.txt
需要在本地项目的根目录里修改requirements.txt
添加你pip install 的包名
3.更改防火墙
这时,只有指定的ip地址才可以访问你的数据库,若部署云端运行时会报错:maybe_raise_MSSQLDatabaseException
具体操作:
4.部署
接着部署上传就行就行
如若报错,根据报错信息具体修改