flask_restful导入资源错误

flask_restful import Resource error

我在 youtube 上做了以下教程:https://www.youtube.com/watch?v=s_ht4AKnWZg

这是我的代码:

from flask import Flask, request
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class HelloWorld(Resource):
    def get(self):
        return {'about':'Hello World!'}

    def post(self):
        some_json = request.get_json()
        return {'you sent': some_json}, 201

class Multi(Resource):
    def get(self, num):
        return {'result': num*10}

api.add_resource(HelloWorld, '/')
api.add_resource(Multi, '/multi/<int:num>')

if __name__ == '__main__':
    app.run(debug=True)

现在,当我 运行 脚本时,出现以下错误:

/home/one/systemx/test_api$ python flask_restful.py
Traceback (most recent call last):
  File "flask_restful.py", line 2, in <module>
    from flask_restful import Resource, Api
  File "/home/one/systemx/test_api/flask_restful.py", line 2, in <module>
    from flask_restful import Resource, Api
ImportError: cannot import name Resource

代码和视频中一样1:1。有人知道问题出在哪里吗?

正如@tobey 在评论中指出的那样,您需要将程序重命名为 app.py 之类的名称,因为 python 正在尝试查找 flask_restful 并且它找到了你的程序而不是包。

这些安装对我有用

aniso8601 = "==8.0.0"
click = "==7.1.2"
flask = "==1.1.2"
flask-restful = "==0.3.8"
flask-sqlalchemy = "==2.4.3"
itsdangerous = "==1.1.0"
jinja2 = "==2.11.2"
markupsafe = "==1.1.1"
pytz = "==2020.1"
six = "==1.15.0"
sqlalchemy = "==1.3.18"
werkzeug = "==1.0.1"