serverless / serverless-tencent

⚡️ 🐧 Serverless Tencent CLI 及中文讨论社区
https://cn.serverless.com
63 stars 26 forks source link

flask模板问题 #151

Closed lyd0 closed 2 years ago

lyd0 commented 2 years ago

按照 官方flask模板 跑代码,本地和腾讯云serverless都报以下错误

Traceback (most recent call last):
  File "app.py", line 1, in <module>
    from flask import Flask, jsonify
  File "/var/user/flask/__init__.py", line 21, in <module>
    from .app import Flask, Request, Response
  File "/var/user/flask/app.py", line 25, in <module>
    from . import cli, json
  File "/var/user/flask/json/__init__.py", line 21, in <module>
    from itsdangerous import json as _json
ImportError: cannot import name 'json'

可能是官方推荐的flask版本太低导致的: image

升级flask和werkzeug的版本,在本地可以运行,但是腾讯云serverless又没办法运行werkzeug,请问需要如何配置?

ole3021 commented 2 years ago

@lyd0 你好, 我在 werkzeug 2.x 的网站上看到 官方说明的运行时要求是 Python 3.6 之上 Requires: Python >=3.6。 应该是可以运行。 麻烦确认一下是否是运行时导致的问题, 如果需要使用更高级的运行时,可以在 serverless.yml中修改运行时信息,目前支持的运行时有:

  - Python2.7
  - Python3.6
  - Python3.7
  - Nodejs6.10
  - Nodejs8.9
  - Nodejs10.15
  - Nodejs12.16
  - Nodejs14.18
  - Nodejs16.13
  - Php5
  - Php7
  - Php7.4
  - Php8.0
  - Go1
  - Java8
  - Java11
  - CustomRuntime

图片

lyd0 commented 2 years ago

@ole3021 ole3021您好 我试了一下换python3.7没有解决,我使用3.6或者3.7将Flask和werkzeug升级最新,然后安装dataclasses解决了问题,但是现在体验还是不太好,在本地需要每次删除dataclasses的py文件才能跑,部署到云服务器需要下载dataclasses的python 文件才能跑

ole3021 commented 2 years ago

@lyd0 好的,这个问题我会记录并反馈到腾讯的SCF相关同事,后面会优化一下,优化结果也会在这里更新。 感谢您的反馈。

lyd0 commented 2 years ago

好的 谢谢