全部产品

Python计算型

创建应用

  • 登录云开发平台,点击「免费云开发」,进入「快速开始」页面,点击「应用搬站」

image.png

  • 选择「Python」,选择「计算型」,点击下一步,填写完信息之后,点击下一步,选择「计算服务」,开通项目所依赖的云服务,点击完成
  • 应用创建完成后,点击「在线开发部署」,等待代码仓库完成初始化,自动进入 CloudIDE页面,之后打开 README.md 详细阅读

image.png

修改配置

  • 添加依赖。打开 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框架文件

    1. FRAMEWORK = {
    2. 'module': '你的入口文件名称,比如:index,不要加 .py 后缀',
    3. 'module.entry': '入口文件中应用对象名称,比如 app,以Flask为例 app = Flask(__name__)'
    4. }
  • 上传你的应用

  • 打开你本地的应用根目录,选中所有文件(依赖文件可以不用选),拖拽到 CloudIDE 左侧文件列表,等待应用上传完成

    测试应用

  • 点击 CloudIDE 左侧 「WB」插件,打开「测试」面板,勾选「预览模式」,点击「测试」,就可以在右侧看到测试效果

    部署

  • 当测试没问题可以部署时,点击 CloudIDE 左侧 「WB」插件,打开「部署」面板,选择一个环境,点击「部署」,等待部署成功,即可通过测试域名查看线上效果

    三方模块引用说明

    默认三方包的安装路径是在当前根目录,如果想要自定义三方包的路径,可以采用这种方式:

  1. `import os`
  2. `import sys`
  3. `sys.path.append(os.getcwd() + '/modules')`

三方包就可直接放在 根的 modules目录下示例:serverless.py

  1. `import os`
  2. `import base64`
  3. `import json`
  4. `import re`
  5. `import logging`
  6. `import importlib`
  7. `import mimetypes`
  8. `from datetime import datetime`
  9. `import time`
  10. `import traceback`
  11. `from urllib import parse`
  12. `import sys`
  13. `sys.path.append(os.getcwd() + '/modules')`
  14. `import serverless_config`
  15. `...`
  16. `...`

需要注意的是,必须在修改sys.path后再引入serverless_config模块(serverless_config模块引用了其他三方包)