Python计算型
创建应用
登录云开发平台,点击「免费云开发」,进入「快速开始」页面,点击「应用搬站」
选择「Python」,选择「计算型」,点击下一步,填写完信息之后,点击下一步,选择「计算服务」,开通项目所依赖的云服务,点击完成
应用创建完成后,点击「在线开发部署」,等待代码仓库完成初始化,自动进入 CloudIDE页面,之后打开 README.md 详细阅读
修改配置
添加依赖。打开 requirements.txt 文件,把自己的应用依赖添加进去
.workbench
不可删除,云开发平台应用部署配置文件
fcRouteDefault,「路由/函数入口」配置入口
cicd,构建打包部署应用的 Shell 指令集;核心:将要部署的内容全部打包到项目根目录的 code.zip 压缩包,云开发平台只认项目根目录的 code.zip 压缩包进行部署
requirements.txt
配置项目依赖文件(如果有)
如果项目有依赖,则需要打开 CloudIDE 的「终端」输入以下命令进行安装,否则可以忽略此文件和下面的安装步骤
```
sudo pip install -r requirements.txt —target ./ -i https://pypi.tuna.tsinghua.edu.cn/simple
```
serverless_config.py
不可删除
FRAMEWORK,如果是函数计算类型的API,请将该对象下所有属性值设置为 None
SAFE,不可访问扩展名的目录或文件配置入口。加入此列表的目录,代表该目录下所有的文件都不可通过扩展名进行访问;加入此列表的文件,也不能通过扩展名进行访问;
serverless_config_django.py
如果你的 Python 应用使用的是 django 框架,请将此文件重命名为 serverless_config.py
FRAMEWORK,将 module 设置为您的 django 应用包名称
serverless_config_flask.py
如果你的 Python 应用使用的是 flask 框架,请将此文件重命名为 serverless_config.py
FRAMEWORK,将 module 设置为您的 flask 应用入口文件名称,将 module.entry 设置为应用入口的应用对象
serverless_config_fastapi.py
如果你的 Python 应用使用的是 fastapi 框架,请将此文件重命名为 serverless_config.py
FRAMEWORK,将 module 设置为您的 flask 应用入口文件名称,将 module.entry 设置为应用入口的应用对象
请额外添加依赖 “fastapi、uvicorn、uvloop、httptools” 至requirements.txt
serverless.py
不可删除,云开发平台Serverless框架文件
FRAMEWORK = {
'module': '你的入口文件名称,比如:index,不要加 .py 后缀',
'module.entry': '入口文件中应用对象名称,比如 app,以Flask为例 app = Flask(__name__)'
}
上传你的应用
打开你本地的应用根目录,选中所有文件(依赖文件可以不用选),拖拽到 CloudIDE 左侧文件列表,等待应用上传完成
测试应用
点击 CloudIDE 左侧 「WB」插件,打开「测试」面板,勾选「预览模式」,点击「测试」,就可以在右侧看到测试效果
部署
当测试没问题可以部署时,点击 CloudIDE 左侧 「WB」插件,打开「部署」面板,选择一个环境,点击「部署」,等待部署成功,即可通过测试域名查看线上效果
三方模块引用说明
默认三方包的安装路径是在当前根目录,如果想要自定义三方包的路径,可以采用这种方式:
`import os`
`import sys`
`sys.path.append(os.getcwd() + '/modules')`
三方包就可直接放在根的 modules目录下示例:serverless.py
`import os`
`import base64`
`import json`
`import re`
`import logging`
`import importlib`
`import mimetypes`
`from datetime import datetime`
`import time`
`import traceback`
`from urllib import parse`
`import sys`
`sys.path.append(os.getcwd() + '/modules')`
`import serverless_config`
`...`
`...`
需要注意的是,必须在修改sys.path后再引入serverless_config模块(serverless_config模块引用了其他三方包)
- 本页导读 (0)