#環境
macOS Catalina10.15.6
VSCode 1.47.3
#現状
pythonのスキーマライブラリのmarshmallow自体の問題ではないかもしれませんが、解決に至らなかったため質問させていただきます。こちらの動画を参考にpipenvでflask,flask-sqlalchemy,flask-marshmallow,marshmallow-sqlalchemyをインストールしました。するとapp.pyの最初の3行に黄色線が出てしまったのでググってVSCodeのsettings.jsonに"python.pythonPath": "/Users/○○(僕の名前)/.pyenv/shims/python"
を追加したところ、最初の2行は解決いたしましたがfrom flask_marshmallow import Marshmallow
だけpython app.py
を実行したときにModuleNotFoundError: No module named 'flask_marshmallow'
となってしまいます。ModuleNotFoundErrorもググってこちらのサイトなどを参考にしたのですがmarshmallow.pyのようなモジュールがプロジェクトディレクトリにないので解決できませんでした。どなたかご教授いただけますと幸いです。よろしくお願いいたします。ちなみにプロジェクトディレクトリは__pycache__,.env,app.py,Pipfile,Pipfile.lockで構成されています。
python
1from flask import Flask, request, jsonify 2from flask_sqlalchemy import SQLAlchemy 3from flask_marshmallow import Marshmallow 4import os 5 6#Init App 7app=Flask(__name__) 8basedir=os.path.abspath(os.path.dirname(__file__)) 9#Database 10app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'db.sqlite') 11app.config['SQLALCHEMY_TRACK_MODIFICATION'] = False 12#Init db 13db = SQLAlchemy(app) 14#Init ma 15ma = Marshmallow(app) 16 17#Product Class/Model 18class Product(db.Model): 19 id = db.Column(db.Integer, primary_key=True) 20 name = db.Column(db.String(100), unique=True) 21 description = db.Column(db.String(200)) 22 price = db.Column(db.Float) 23 qty = db.Column(db.Integer) 24 25 def __init__(self, name, description, price, qty): 26 self.name = name 27 self.description = description 28 self.price = price 29 self.qty = qty 30 31#Product Schema 32class ProductSchema(ma.Schema): 33 class Meta: 34 fields = ('id', 'name', 'descriptrion', 'price', 'qty') 35 36#Init Schema 37product_schema = ProductSchema(strict=True) 38products_schema = ProductSchema(many=True, strict=True) 39 40 41@app.route('/', methods=['GET']) 42def get(): 43 return jsonify({'msg': 'Hello World'}) 44 45#Run Server 46if __name__ == '__main__': 47 app.run(debug=True)
あなたの回答
tips
プレビュー