Python interpreter issue:

Issue

I am following along with a tutorial for a "notes" app, I cloned the creator’s repository which should work perfectly fine, but I keep running into problems because of the python interpreter in vscode. When I use Python 3.8.2 I get a Unable to import 'flask' error, and when I use Python 3.9.6 I get Instance of 'scoped_session' has no 'add' member errors for the lines where I use db.session.add and db.session.delete. I am really lost on how to fix this.

This is the views.py file below where I get these errors.

from flask import Blueprint, render_template, request, flash, jsonify
from flask_login import login_required, current_user
from .models import Note
from . import db
import json

views = Blueprint('views', __name__)


@views.route('/', methods=['GET', 'POST'])
@login_required
def home():
    if request.method == 'POST':
        note = request.form.get('note')

        if len(note) < 1:
            flash('Note is too short!', category='error')
        else:
            new_note = Note(data=note, user_id=current_user.id)
            db.session.add(new_note)
            db.session.commit()
            flash('Note added!', category='success')

    return render_template("home.html", user=current_user)


@views.route('/delete-note', methods=['POST'])
def delete_note():
    note = json.loads(request.data)
    noteId = note['noteId']
    note = Note.query.get(noteId)
    if note:
        if note.user_id == current_user.id:
            db.session.delete(note)
            db.session.commit()

    return jsonify({})

Solution

Maybe you’ve created python environment and installed flask package within this interpreter.
The solutions is to change the default python interpreter inside VSCode.

Click CTRL+SHIFT+P Then write – >Python: Select Interpreter,

It should auto complete immediately (The ‘>’ is automatically appeneded).

After that you just select a path,
i.e.

/path/to/project/.env/bin/python

or

/path/to/project/.env/src/python

I believe that should solve the problem 🙂 .

Answered By – HindicatoR

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published