В настоящее время я пытаюсь реализовать вход в 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)
Возможный дубликат Pylint не может найти член запроса SQLAlchemy






Откройте палитру команд (Command + Shift + P в macOS и Ctrl + Shift + P в Windows / Linux) и введите одну из следующих команд:
Python: Select Linter
Переключитесь с PyLint на flake8 или другие поддерживаемые линтеры.
Это скроет ошибку, но не является решением. Возможный дубликат этого: stackoverflow.com/questions/28193025/…
pip install pylint-flask
В случае Код Visual Studio: Откройте файл> Настройки> Настройки> Изменить. в settings.json, как показано ниже:
"python.linting.pylintArgs": ["--load-plugins", "pylint_flask"]
Для меня это не работает, но работает следующая строка: "python.linting.pylintArgs": ["--load-plugins", "pylint-flask"]
Для меня это сработало, только когда я ввел его в свои пользовательские настройки: Палитра команд: Настройки: Открыть настройки (JSON)
Мне также пришлось включить "python.jediEnabled": true,, чтобы плагин pylint_flask правильно определил членов scoped_session.add, scoped_session.commit. Не знаю почему. Возможно, потому, что у меня установлен языковой сервер на «джедай» через "python.languageServer": "Jedi",.
РЕДАКТИРОВАТЬ: После прочтения и попытки ответ 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, я просто добавил эти вары и работал как шарм ...
Спасибо. оно работает. Этот ответ следует пометить как ответ.
Это не может работать. Модуль загрузки содержит тире, что приведет к ошибке. Вы полностью отключаете pyling в vscode.
В этой конфигурации отсутствует запятая после "pylint_flask_sqlalchemy"?
Для меня это «pylint-flask-sqlalchemy». Работает на Python 3.9.
pylint_flask_sqlalchemy, с подчеркиванием, а не дефисом.
Я только что столкнулся с этой проблемой. Ни одно из предложенных решений не помогло мне, но следующее.
Сначала установите эти модули:
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 (Палитра команд> Разработчик> Окно перезагрузки).
Для Windows это работает: В случае кода Visual Studio: Откройте Файл> Настройки> Настройки> Изменить в settings.json -> и добавьте этот код после запятой под существующими настройками:
"python.linting.pylintArgs": [
"--load-plugins",
"pylint-flask"
]
Прочерки в --load-module приводят к сбою pylint и, следовательно, к его отключению.
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-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-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 тихо вылетает в фоновом режиме.
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
Это наиболее полный ответ, и его следует принять. Порядок важен
Пожалуйста, включите полную трассировку.