Экземпляр SQLAlchemy не имеет члена Column (не члена)

В настоящее время я пытаюсь реализовать вход в Steam на веб-сайте. Но я не могу передать эту ошибку в коде. Я создал объект базы данных, но он продолжает показывать ошибку, о которой я упоминал ранее. Я не уверен, изменился ли SQLAlchemy или что с тех пор, как я его использовал.

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)

Сообщение, излучаемое pylint, выглядит следующим образом:

E1101: Instance of 'SQLAlchemy' has no 'Column' member (no-member)

Пожалуйста, включите полную трассировку.

Ilja Everilä 30.12.2018 07:26

Возможный дубликат Pylint не может найти член запроса SQLAlchemy

kod kristoff 22.11.2019 10:20
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
42
2
38 554
6

Ответы 6

Откройте палитру команд (Command + Shift + P в macOS и Ctrl + Shift + P в Windows / Linux) и введите одну из следующих команд:

Python: Select Linter

Переключитесь с PyLint на flake8 или другие поддерживаемые линтеры.

Это скроет ошибку, но не является решением. Возможный дубликат этого: stackoverflow.com/questions/28193025/…

leecbaker 23.05.2019 10:12
pip install pylint-flask

В случае Код Visual Studio: Откройте файл> Настройки> Настройки> Изменить. в settings.json, как показано ниже:

"python.linting.pylintArgs": ["--load-plugins", "pylint_flask"]

Для меня это не работает, но работает следующая строка: "python.linting.pylintArgs": ["--load-plugins", "pylint-flask"]

kod kristoff 22.11.2019 10:04

Для меня это сработало, только когда я ввел его в свои пользовательские настройки: Палитра команд: Настройки: Открыть настройки (JSON)

Brian 19.01.2020 21:02

Мне также пришлось включить "python.jediEnabled": true,, чтобы плагин pylint_flask правильно определил членов scoped_session.add, scoped_session.commit. Не знаю почему. Возможно, потому, что у меня установлен языковой сервер на «джедай» через "python.languageServer": "Jedi",.

waterproofpatch 01.01.2021 17:49

РЕДАКТИРОВАТЬ: После прочтения и попытки ответ np8 мой предыдущий ответ неверен, вам нужно установить пакет, а именно pylint_flask_sqlalchemy.

так что ответ будет

в каталоге вашего проекта найдите папку .vscode (если у вас ее нет, просто создайте ее), затем создайте файл settings.json и добавьте эту строку

{
    # You have to put it in this order to make it works
    "python.linting.pylintArgs": [
        "--load-plugins",
        "pylint_flask_sqlalchemy",
        "pylint_flask",                 # This package is optional
    ]
}

Вам также необходимо иметь pylint-flask-sqlalchemy, и если вы хотите использовать установку фляга в вашей текущей среде Python:

pip install pylint-flask-sqlalchemy
pip install pylint-flask

Спасибо, приятель, у меня уже был .vscode / settings.json, я просто добавил эти вары и работал как шарм ...

Gerardo Rosciano 11.09.2020 14:04

Спасибо. оно работает. Этот ответ следует пометить как ответ.

Wai Kyaw 27.10.2020 16:25

Это не может работать. Модуль загрузки содержит тире, что приведет к ошибке. Вы полностью отключаете pyling в vscode.

bmakan 29.10.2020 08:17

В этой конфигурации отсутствует запятая после "pylint_flask_sqlalchemy"?

Nick.McDermaid 29.11.2020 01:30

Для меня это «pylint-flask-sqlalchemy». Работает на Python 3.9.

ibnɘꟻ 15.01.2021 03:50
pylint_flask_sqlalchemy, с подчеркиванием, а не дефисом.
Jack Deeth 12.03.2021 18:04

Я только что столкнулся с этой проблемой. Ни одно из предложенных решений не помогло мне, но следующее.

Сначала установите эти модули:

pip install pylint-flask
pip install pylint-flask-sqlalchemy

Затем в Код Visual Studio вам нужно добавить следующее в ваш файл settings.json:

"python.linting.pylintArgs": ["--load-plugins", "pylint-flask", "pylint-flask-sqlalchemy"]

СОВЕТ: Если это не сработает, попробуйте перезагрузить код Visual Studio (Палитра команд> Разработчик> Окно перезагрузки).

Gino Mempin 19.07.2020 08:47

Для Windows это работает: В случае кода Visual Studio: Откройте Файл> Настройки> Настройки> Изменить в settings.json -> и добавьте этот код после запятой под существующими настройками:

    "python.linting.pylintArgs": [
        "--load-plugins",
        "pylint-flask"
    ]
  1. First step
  2. Second step

Прочерки в --load-module приводят к сбою pylint и, следовательно, к его отключению.

bmakan 29.10.2020 08:25

Сводка рабочих и нерабочих конфигураций

It seems that this can be configured so many ways incorrectly, that I decided to write the different options down. I am assuming VS Code, but for command line or other editor, arguments and their order is the same. These were tested using the latest versions of all the packages (list in the bottom of this post)

Рабочие версии

# What you'll need is pylint_flask_sqlalchemy
"python.linting.pylintArgs": ["--load-plugins", "pylint_flask_sqlalchemy"]

# You can add pylint_flask but only if it is *AFTER* pylint_flask_sqlalchemy
"python.linting.pylintArgs": ["--load-plugins", "pylint_flask_sqlalchemy", "pylint_flask"]

Нерабочие версии

# pylint_flask does not help, but can break it (see below)
"python.linting.pylintArgs": ["--load-plugins", "pylint_flask"]

# You can NOT add pylint_flask *BEFORE* pylint_flask_sqlalchemy
"python.linting.pylintArgs": ["--load-plugins", "pylint_flask", "pylint_flask_sqlalchemy"]

# CAUTION: These will disable pylint silently altogether!
# Do not use dash (-) but underscore (_)!
"python.linting.pylintArgs": ["--load-plugins", "pylint-flask-sqlalchemy", "pylint-flask"]
"python.linting.pylintArgs": ["--load-plugins", "pylint-flask"]
"python.linting.pylintArgs": ["--load-plugins", "pylint-flask-sqlalchemy"]

Подробности для интересующихся

pylint_flask_sqlalchemy

pylint-flask-sqlalchemy1 был создан специально для исправления этого 2. Вы можете включить его, добавив в --load-plugins файла pylint. В командной строке это будет

python -m pylint --load-plugins pylint_flash_sqlalchemy <mymodule.py>

и в Код VS (Настройки (JSON)):

"python.linting.pylintArgs": ["--load-plugins", "pylint_flask_sqlalchemy"]

1, также отражено на GitHub: https://github.com/anybox/pylint_flask_sqlalchemy
2 См. Комментарий это в системе отслеживания проблем pylint.

pylint_flask

фляга - плагин pylint для Колба. У него есть ничего общего с Flask-SQLAlchemy, а у pylint даже не пытается решить ложные срабатывания есть Flask-SQLAlchemy3. Единственная возможность использовать pylint-flask, чтобы «заставить ошибки исчезнуть», - это загрузить ошибочно с дефисами, что приведет к отключению всего pylint.

Похоже, что pylint-flask должен быть загружен после pylint-flas-sqlalchemy; Я тестировал свою настройку, и по какой-то причине

"python.linting.pylintArgs": ["--load-plugins", "pylint_flask", "pylint_flask_sqlalchemy"]

будет не работа, но

"python.linting.pylintArgs": ["--load-plugins", "pylint_flask_sqlalchemy", "pylint_flask"]

будет. Так что порядок загрузки плагинов имеет значение.

3 See the code for yourself: pylint-flask source & pylint-flask-sqlaclhemy source

Осторожно: не удаляйте линтин случайно.

Как сказано в документации фляга и pylint-flask-sqlalchemy, имена в аргументе --load-plugins должны быть написано с подчеркиванием; Если вы используете

"python.linting.pylintArgs": ["--load-plugins", "pylint-flask", "pylint-flask-sqlalchemy"]

в коде VS, ошибки исчезнут, но исчезнет весь ваш линтинг, поскольку pylint тихо вылетает в фоновом режиме.

Установка pylint-flask-sqlalchemy

pip install pylint-flask-sqlalchemy

Используемые версии

Flask                   1.1.2  
Flask-SQLAlchemy        2.4.4 
pylint                  2.5.3
pylint-flask            0.6
pylint-flask-sqlalchemy 0.2.0

Смотрите также

Это наиболее полный ответ, и его следует принять. Порядок важен

Trevor Gross 01.09.2020 19:43

Другие вопросы по теме