Я использую следующую настройку
Я хочу использовать линтинг, чтобы немного упростить себе жизнь в Visual Studio Code. Однако для каждого импорта у меня есть состояние «неразрешенный импорт». Даже при импорте Django по умолчанию (т.е. из моделей импорта django.db).
Я предполагаю, что это потому, что он не видит файлы Python виртуальной среды.
Все работает нормально, но начинает надоедать.
У меня есть варианты интерпретатора для всех системных версий Python. Кажется, он вообще не видит мою виртуальную среду Python (она находится не в том же каталоге, что и моя рабочая область, поэтому эта часть имеет смысл).
Если я настрою python.PythonPath в файле settings.json, он просто проигнорирует его и не укажет путь к моей виртуальной среде в качестве опции. Я также попытался настроить его в своих глобальных настройках Python, но он также не отображается.
Есть ли быстрое решение, чтобы заставить его работать?
@VaibhavVishal, к сожалению, я все еще получаю те же результаты (добавил его в свой файл settings.json)
На самом деле это проблема VScode, которая обнаруживает пакет импорта очень поздно, после перезапуска он исправляется автоматически.
@VaibhavVishal, это единственное решение, которое сработало для меня во всей ветке. Спасибо.
Мой pythonPath уже был правильно настроен на питон venv. Если это кому-то поможет, мне на самом деле пришлось установить pylint в моем venv: python -m pip install pylint, а затем обновить свой pylintPath в VS Code до venv pylint.






В вашем настройки рабочего пространства вы можете установить свой путь Python следующим образом:
{
"python.defaultInterpreterPath": "/path/to/your/venv/bin/python",
}
Такого рода работы. Для импорта, специфичного для Python, он разрешает их сейчас, но не мои собственные модели (например, «from users.models import User» по-прежнему говорит, что не может решить эту проблему). Мысли об этом?
Точно сказать не могу. Попробуйте перезагрузить окно кода vs (из оболочки, code <project_directory> -r) или просто перезапустите vscode.
Ага все это перепробовал, до сих пор почему-то не узнает. Не уверен, что с этим происходит.
Я не уверен, иногда это может произойти, если каталог рабочей области установлен неправильно. Убедитесь, что manage.py находится в корне workspace. Также убедитесь, что pylint настроен правильно
ты гений! Это произошло потому, что мое рабочее пространство не запускалось на корневом уровне проекта. Как только я отрегулировал это, он начал работать. Большое спасибо!
Большое спасибо! Помог мне решить давнюю проблему!
@jAC, можешь подробнее рассказать? Кажется, я не могу понять этого.
У меня это не сработало. Если это кому-то поможет, добавление этих двух строк в пользовательские настройки сделало: "python.analysis.disabled": [ "unresolved-import" ], "python.linting.pylintArgs": ["--load-plugin","pylint_protobuf"]
Ответ с «python.autoComplete.extraPaths» решил мою проблему со ссылкой на GitHub, которая объясняет причину.
Окно перезагрузки помогло решить проблему с моими собственными моделями.
ответ, определяющий "python.autoComplete.extraPaths", работал намного лучше.
если у вас есть другие конфигурации в вашем рабочем пространстве, вы можете добавить их в объект dict, чуть выше последнего }.
Если у вас есть этот код в вашем файле settings.json, удалите его:
{
"python.jediEnabled": false
}
Лучше добавить немного пояснений.
Редактирование этой строки - большое изменение в вашем проекте. Строка: «python.jediEnabled»: false отключает старый языковой сервер и включает новый Microsoft Python Language Server. Посмотрите здесь: github.com/Microsoft/vscode-python/issues/2177 Я думаю, что намного проще просто добавить необходимые зависимости в наш envFile. Это описано в другом ответе. С новым Microsoft Python Language Server intellisense работает для меня намного лучше.
Для меня это наоборот, включение jedi в settings.json работает для меня. Подробнее здесь, stackoverflow.com/a/57269144/2877493
@Tiw, особенно потому, что другой ответ предполагает прямо противоположное.
Этот вопрос уже был открыт на GitHub:
Нерешенная проблема импорта Python # 3840
Есть два очень полезных ответа от MagnuesBrzenk и SpenHouet.
Лучшее решение на данный момент - создать файл .env в корневой папке проекта. Затем добавьте к нему PYTHONPATH следующим образом:
PYTHONPATH=YOUR/MODULES/PATH
И в вашем settings.json добавьте:
"python.envFile": ".env"
Спасибо, отлично сработало! "${workspaceFolder}/.env"PYTHONPATH=FolderName
При использовании Microsoft Python Language Server часто возникала проблема с редактируемыми установками. Однако похоже, что в настоящее время после нового исправления, описанного здесь: github.com/microsoft/python-language-server/issues/…, проблема была исправлена, и любой импорт может быть добавлен с помощью ExtraPaths. Для получения дополнительной помощи посмотрите этот TroubleShooting: github.com/microsoft/python-language-server/blob/master/…
Спасибо @TomaszChudzik - Настройка: "python.autoComplete.extraPaths": ["./src"] работала как шарм!
Другое решение - добавить модули кодовой базы в ваш virtualenv (например, используя add2virtualenv YOUR/MODULES/PATH) и выбрать этот virtualenv в качестве интерпретатора Python.
Корневая папка проекта в vscode означает, где находится workspace.code-workspace и все репозитории как подкаталоги? Путь к модулю - это путь к site-packages?
У меня другое решение: мой экземпляр Visual Studio Code подобрал virtualenv, хранящийся в .venv, но использовал неправильный двоичный файл Python. Он использовал .venv/bin/python3.7; с помощью переключателя в синей строке состояния.
Я изменил его на использование .venv/bin/python, и весь мой импорт был разрешен правильно.
Я не знаю, что Visual Studio Code делает за кулисами, когда я это делаю, и не понимаю, почему это вызывает мою проблему, но для меня это было немного более простым решением, чем редактирование настроек моей рабочей области.
Когда я делаю > reload window, это исправляет.
Ссылка: Неразрешенная проблема импорта Python # 3840, комментарий dkavraal
Он просто скрывает предупреждение, если я нажимаю на файл, оно снова появляется!
">" Является буквальным обозначением или частью приглашения?
Альтернативный способ: использовать командный интерфейс!
Cmd / Ctrl + Shift + P → Python: выберите интерпретатор → выберите пакет с пакетами, которые вы ищете:
в моем случае это не сработало, но, надеюсь, это поможет другим решить эту проблему.
да в этом дух, это не сложное решение, у меня так получилось :)
Это сработало для меня. В 2019 году кому-то еще было интересно.
@Safder не для меня. используя virtualenv
это сработало для меня. Поскольку у меня есть структура каталогов, в которой для каждого проекта python у меня есть новый venv, я указываю его на этот конкретный Python в каталоге venv для этого проекта.
В Visual Studio 2019. Попробуйте повторно открыть VS после установки пакета. Работал у меня.
интерпретатор Python находится в workspace.code-workspace. В Windows 10 python, установленный вместе с системой приложений, мой site-packages находится здесь 'C: \\ Users \\ User \\ AppData \\ Local \\ Packages \\ PythonSoftwareFo undation.Python.3.9_ qbz5n2kfra8p0 \\ Local Cache \\ local-package s \\ Python39 \\ site-pa ckages ', поэтому я взял интерпретатор в \User\AppData\Local\microsoft.. вместо program files/windowsapps/python... По-прежнему не повезло, может быть, потому, что у меня тоже есть некоторые модули pip в C:\\Program Files\\WindowsApps\\Python...
Я смог решить эту проблему, включив джедаев в .vscode \ settings.json
"python.jediEnabled": true
Справка из https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-456017675
Я был включен с самого начала. повезло тебе
Получение неизвестной конфигурации python 3.8 на v2020.8.10 расширения VSC python
Принятый ответ не исправит ошибку при импорте собственных модулей.
Используйте следующий параметр в настройках вашего рабочего пространства .vscode/settings.json:
"python.autoComplete.extraPaths": ["./path-to-your-code"],
Ссылка: Устранение неполадок, неразрешенные предупреждения об импорте
У меня смешанное рабочее пространство, весь код Python находится в подпапке. Добавление .vscode в подпапку не сработает, это единственное рабочее решение.
лучший ответ для vscode settings.json. (при использовании workspace.xml принятый ответ может быть подходящим, но я не могу сказать наверняка. Я также использую смешанное рабочее пространство) Большое спасибо за решение.
Это должен быть ответ.
Это сработало для меня! Ссылка на ссылку прекрасно объясняет. TL; DR; Для созданных пользователем локальных скриптов в подкаталогах вышеуказанный параметр помогает интерпретатору python распознавать подкаталог как собственное рабочее пространство. Впоследствии распознавание скриптов в рабочей области и разрешение импорта при импорте целых модулей или отдельных методов.
Всем привет! Я обнаружил, что ["./path-to-your-code"] может быть ["./**"] в любом случае, когда двойная звездочка означает любую подпапку в корневом каталоге! Это более простое решение.
Это сработало для меня и на Mac, но мне пришлось указать абсолютный путь от корня до каталога с добавляемыми файлами, чтобы импортировать любые другие файлы python в каталоге.
Это сработало для меня! Относительный путь работает с окнами. Но это неаккуратный обходной путь, и его не нужно делать. Хотелось бы, чтобы авторы исправили эту проблему
Не забудьте перезагрузить окно кода vs после добавления этого кода, чтобы изменения вступили в силу.
У меня это работает, и я обнаружил, что могу удалить его после того, как исчезнет неразрешенный импорт. Итак, это ошибка IDE?
@WLiu Если вы удалите, он может не работать снова, если вы снова запустите VsCode. Это не совсем ошибка, а проблема реализации VSCode.
Это помогает, когда у вас, конечно, разделены венв и источник.
У меня работает в венв!
В какой-то момент название настройки изменилось. Теперь это "python.analysis.extraPaths"
Еще одна уникальная комбинация для избавления от ошибки линтинга (код все еще работал): 1. Измените языковой сервер Python в настройках с Pylance на что-то другое и 2. Добавьте «python.autoComplete.extraPaths»: [«./path-to -ваш-код "] в settings.json
Ни один из предыдущих ответов не помог мне. Однако добавление обеих строк ниже в мой файл settings.json помогло.
"python.analysis.disabled": [
"unresolved-import"
],
"python.linting.pylintArgs": ["--load-plugin","pylint_protobuf"]
Первая строка действительно просто скрывает ошибку линтинга. Конечно, это не постоянное решение, но убирает загромождение экрана.
Этот ответ дал мне вторую строку: VS Code PyLint Error E0602 (неопределенная переменная) со скомпилированной структурой Python ProtoBuf
Может быть, кто-то, кто разбирается в Python лучше меня, сможет объяснить это еще раз.
Рады, что люди находят это полезным, но есть ли кто-нибудь, кто может объяснить эту вторую пару "ключ-значение"?
В случае ошибки Pylint установите следующие
pipenv install pylint-django
Затем создайте файл .pylintrc в корневой папке и напишите следующее
load-plugins=pylint-django
Это работает для меня:
Откройте палитру команд (Ctrl + Shift + P) и выберите «Python: Select Interpreter».
При этом вы устанавливаете интерпретатор Python в Visual Studio Code.
в моем случае. мой интерпретатор python 2 работает нормально. просто мой питон 3 не может очень хорошо сотрудничать
Это решение только для текущего проекта.
В корне проекта создать папку .vscode
Затем создайте файл .vscode/settings.json
В файле setting.json добавьте строчку (это для Python 3)
{
"python.pythonPath": "/usr/local/bin/python3",
}
Это пример для Python 2
{
"python.pythonPath": "/usr/local/bin/python",
}
Если вы не знаете, где находится ваша установка Python, просто запустите команду which python или which python3 на терминале. Он напечатает местоположение Python.
Этот пример работает для докеризированный Python - Django.
Я устранил ошибку импорта с помощью Ctrl + Shift + P. Наберите «Настройки предпочтений» и выберите опцию Настройки Открыть настройки (JSON)
И добавляем строчку "python.pythonPath": "/usr/bin/"
Итак, содержимое JSON должно выглядеть так:
{
"python.pythonPath": "/usr/bin/"
}
Оставьте остальные строки конфигурации, если они есть. Это должно импортировать все модули, которые вы установили с помощью PIP для автозаполнения.
Решение от Shinebayar G работал, но этот другой немного элегантнее:
Скопировано из Нерешенная проблема импорта Python # 3840:
Учитывая следующий пример структуры проекта:
Что я сделал для решения этой проблемы:
Мое решение заключалось в том, чтобы открыть код Visual Studio в предыдущем каталоге.
Что вы имеете в виду под "предыдущий каталог"? Вы имеете в виду "родительский каталог"? Или что-то другое?
Я открываю VSCode только с консоли в каталоге перед проектом
В моем случае у меня уже была активирована среда Конда, но я все еще хотел, чтобы локальные модули Python были доступны для автозаполнения, определения просмотра и т. д.
Я пробовал много решений, таких как добавление списка путей Python и т. д., Но в конечном итоге это для меня решило создание символической ссылки от Conda lib/python{your version}/site-packages на мой локальный модуль.
Если вы, как я, более наглядны, вы можете использовать конфигурации кода Visual Studio в меню Файл → Предпочтения → Настройки (Ctrl + ,). Перейдите к Расширения → Python.
В разделе Анализ: отключен добавьте подавление следующего сообщения: unresolved-import:
Неразрешенный импорт для относительного импорта явно неверен, это избавляет от него.
Это устраняет только предупреждение, а не устранение проблем. Если я использую метод пути python, тогда предупреждение об импорте исчезает, а также работают «детализация» («определение перехода») и «подсказки параметров».
Для меня проблема была связана с проектом, над которым я работал. Мне потребовалось время, чтобы понять это, поэтому я надеюсь, что это поможет:
Исходная структура папок:
root/
__init__.py # Empty
folder/
__init__.py # Empty
sub_folder_b/
my_code.py
sub_folder_c/
another_code.py
В another_code.py:
from folder.sub_folder_b import my_code.py
Это не запускало intellisense в Visual Studio Code, но выполнялось нормально.
С другой стороны, добавление «root» в путь импорта заставило intellisense работать, но вызвало ошибку ModuleNotFoundError при выполнении:
from root.folder.sub_folder_b import my_code.py
Решение состояло в том, чтобы удалить файл _в этом_.py внутри каталога «папка», оставив только _в этом_.py, расположенный в /root.
Вам необходимо выбрать интерпретатор, связанный с виртуальной средой.
Щелкните здесь (в нижней строке состояния):
И просто выберите виртуальную среду, с которой вы работаете. Сделанный.
Иногда даже с выбранным переводчиком это не сработает. Просто повторите процесс еще раз, и он должен решить эту проблему.
Это была именно моя проблема (на Mac), и выбор подходящего интерпретатора решил ее. Спасибо!
Это была моя проблема. Судя по всему, Джулия установила на ~\.julia\conda\3\python.exe собственный интерпретатор Python.
У меня есть одна библиотека, которая дает сбой при попытке включить ее с помощью языковой службы Jedi и отлично работает без нее (то есть с C#).
Библиотека jsonslicer, и она зависит от внешней библиотеки C, которую я установил в /usr/local/lib. Может ли это иметь какое-то отношение к этому?
Я установил службу Jedi и библиотеку в свою среду Конда и использовал эту среду в Visual Studio. Он отлично работает во время выполнения и в моем терминале, но не при проверке проблем в моих исходных файлах и отображается как ошибка.
Сначала убедитесь, что вы установили плагин, но вполне вероятно, что каталог рабочей области настроен неправильно. Просто проверьте Pylint и отредактируйте базовый файл settings.json.
{
"python.pythonPath": "/usr/local/bin/python3",
"git.ignoreLimitWarning": true
}
Что вы имеете в виду под "проверить Пилинт"? Флажок? Что он существует / установлен? Что-то другое? Ответьте редактирование вашего ответа, а не здесь, в комментариях (и без «Обновлено:», «Обновить:» или аналогично).
Установите code-runner и добавьте приведенный ниже код в папку settings.json:
"code-runner.executorMap": {
"python": "python3 -u",
}
"python": "(исполняемый файл Python с модулями или его путь) -u",
Что такое «код-бегун»? Можете ли вы добавить на него ссылку (автор редактирование вашего ответа, а не здесь в комментариях)?
Это происходит потому, что Visual Studio Code считает вашу текущую папку основной, а не фактической основной папкой.
Быстрый способ исправить - указать путь интерпретатора к основной папке.
Нажмите Command + Shift + P (или Ctrl + Shift + P в большинстве других систем).
Тип Интерпретатор Python
Выберите путь, по которому вы установили Python, из доступных вариантов.
Я столкнулся с этой проблемой тремя способами. Хотя для каждого из них есть решение в ответах на этот вопрос, я просто подумал собрать все это воедино.
Сначала я получил «Неразрешенный импорт» при импорте некоторых модулей, и я заметил, что мои установки происходили в глобальном пипе, а не в виртуальной среде.
Эта проблема возникла из-за интерпретатора Python. Вам нужно выбрать интерпретатор в Visual Studio Code, используя Shift + Ctrl + P, а затем ввести Select Python Interpreter. Выберите здесь свой интерпретатор Venv.
Вторая проблема заключалась в следующем: вышеуказанное изменение не решило мою проблему полностью. На этот раз из-за файла settings.json. Если у вас нет файла settings.json в каталоге вашего проекта, создайте его и добавьте в него следующую строку:
{
"python.pythonPath": "apis/bin/python"
}
Это в основном скажет Visual Studio Code использовать интерпретатор Python, который находится в вашем venv.
Третья проблема возникла при импорте пользовательского модуля или файла Python в другую программу. Для этого вам необходимо понимать структуру папок. Поскольку Python в venv находится внутри bin, вам нужно указать папку вашего модуля (в большинстве случаев это папка приложения). В моем случае это был app,
from app.models import setup_db
На словах import setup_db из models.py находится в папке приложение.
Интересно, сколько решений у этой проблемы есть (или нет), я пробовал большую часть из вышеперечисленного, ничего не работало, единственное решение, которое сработало, - установить сервер языка Python на Jedi, а не на Microsoft в файле settings.json:
"python.languageServer": "Jedi"
Если вы используете pipenv, вам необходимо указать путь к вашей виртуальной среде в файле settings.json.
Например :
{
"python.pythonPath":
"/Users/username/.local/share/virtualenvs/Your-Virual-Env/bin/python"
}
Это может помочь.
Ни одно из решений не сработало, кроме этого. Замена «Pylance» или «Microsoft» в settings.json решила мою проблему.
"python.languageServer": "Jedi"
Согласованный. Я также перепробовал все предоставленные варианты, но это сработало!
У меня такая же проблема с python 3.8.5 с использованием venv, vscode 1.48.2 Я нашел свое решение. В (папка env) / lib / site-packages нет пакетов. Я использую этот параметр (.vscode / settings.json)
{
"python.autoComplete.extraPaths": [
"./**",
],
"python.pythonPath": "env\\Scripts\\python.exe",
"python.languageServer": "Microsoft"
}
Изменение Python: языковой сервер "Джедаи" работали на меня. Изначально это была Windows.
Если кто-то окажется таким идиотом, как я, сработало следующее.
Старая структура папок:
awesome_code.py
__init__.py
src/
__init__.py
stuff1.py
stuff2.py
Новая структура:
awesome_code.py
src/
__init__.py
stuff1.py
stuff2.py
Решил проблему с питоном командной строки. Я установил модули с терминалом vs code в путь к проекту, но при импорте модуля в python командной строки Windows выдает ошибку, поскольку этот модуль не определен поэтому я устанавливаю эти модули из командной строки, и моя проблема решена.
Для меня это сработало, если я настроил пути для python, pylint и autopep8 на пути локальной среды.
Для вашего рабочего места добавьте / измените это:
"python.pythonPath": "...\\your_path\\.venv\\Scripts\\python.exe",
"python.linting.pylintPath": "...\\your_path\\.venv\\Scripts\\pylint.exe",
"python.formatting.autopep8Path": "...\\your_path\\.venv\\Scripts\\autopep8.exe",
Сохраните и перезапустите VS Code с рабочей областью. Сделанный!
Это сработало и для меня, точнее, установка «python.linting.pylintPath» - вот что решило проблему. У меня не было этой проблемы, пока я не обновился до Python 3.9. Я предполагаю, что они используют путь pylint по умолчанию.
How to avoid warningОбратите внимание, что это просто пропуск предупреждения, а не устранение проблемы.
Прежде всего откройте настройки кода Visual Studio в json и добавьте следующие аргументы после "[python]":{}
"python.linting.pylintArgs": ["--rep[![][1]][1]orts", "12", "--disable", "I0011"], "python.linting.flake8Args": ["--ignore=E24,W504", "--verbose"] "python.linting.pydocstyleArgs": ["--ignore=D400", "--ignore=D4"]
Это помогло мне избежать предупреждений о pylint в VSCode.
Игнорирование предупреждения не является хорошей практикой, вместо этого вы должны предложить решение для устранения основной причины.
В этом случае мне нужно изменить заголовок своего ответа на «Как избежать предупреждения python pylint»?
Я столкнулся с той же проблемой при импорте модулей, относящихся к проекту (нестандартных). Подробное объяснение проблемы
Структура каталогов:
Project_dir:
.vscode/settings.json
dir_1
> a
> b
> c
dir_2
> x
> y
> z
Что мы хотим:
Project_dir
dir_3
import a
import y
Здесь «импортировать» и «импорт у» терпит неудачу со следующей ошибкой:
Import "dir_1.a" could not be resolvedPylancereportMissingImports
Import "dir_2.y" could not be resolvedPylancereportMissingImports
Что сработало для меня:
Добавление верхнего каталога, который содержит модули для импорта.
В приведенном выше примере добавьте следующий «Код для добавления» в «.vscode / settings.json»
Имя файла:
.vscode/settings.json
Код для добавления:
"python.analysis.extraPaths": [dir_1, dir_2]
Это то, что в итоге сработало для меня. У меня был проект с кодом в папке package_name, вложенной во внешнюю папку package_name. Добавление только package_name в «extraPaths» (не абсолютный путь) помогло.
Сработало для меня, но мне пришлось указать имя каталога в кавычках.
Ни один из ответов здесь не решил эту ошибку для меня. Код запускался, но я не мог сразу перейти к определениям функций. Это было только для некоторых местных пакетов. Во-первых, python.jediEnabled больше не подходит. Я сделал две вещи, но не уверен, что первое было необходимо:
python.languageServer на "Pylance""python.analysis.extraPaths": [ "path_to/src_file" ]Судя по всему, корень и src будут проверены на наличие локальных пакетов, но сюда необходимо добавить другие.
Установка расширения Pylance сразу устранила это для меня
У меня установлен pylance, и я все еще сталкиваюсь с этой проблемой в некоторых проектах. И должен ли extraPaths указывать на путь? Что такое src_file?
pylint error: "Unable to import 'django.X'"
После активации желаемого интерпретатора Python в среде conda VS Code иногда продолжает использовать pylint из среды conda по умолчанию. Например:
/home/<username>/anaconda3/bin/pylint
$ conda activate <target environment>
$ conda install pylint
/home/<username>/anaconda3/envs/<target environment>/bin/pylint
Замените <username> и <target environment> в соответствии с конфигурацией вашей системы.
Теперь pylint найдет установленные библиотеки, включая Django, при условии, что Django был установлен в <target environment>.
$ conda install pylint-django
Обновите настройки VS Code, чтобы использовать плагин:
--load-plugins=pylint_django--django-settings-module=<PROJECT FOLDER>.settings<PROJECT FOLDER> папкой, содержащей файл конфигурации Django "settings.py".Я использую следующую настройку: (в апреле 2021 г.)
И я столкнулся с этой ошибкой при запуске Django. Итак, я следую этим шагам, и эта ошибка устранена.
Шаги приведены на этих снимках экрана:
Открыть настройки (рабочее пространство)
Теперь нажмите Edit in settings.json
Сделайте путь, как показано на этом скриншоте /opt/anaconda3/bin/python
5. Теперь сохраните файл settings.json. 6. Перезапустите vscode.
Кроме того, intellisense может не работать в течение некоторого времени, подождите некоторое время, а затем перезапустите снова, после чего vscode прочитает файл для нового пути.
У меня была проблема, что импорт созданных мной модулей не был найден. Мне казалось, что я пробовал несколько методов, чтобы убедиться, что выбор интерпретатора Python был правильным, но безрезультатно. Я нашел ответ, который сработал для меня, отредактировав settings.json Python> Linting> Pylint Args и добавив init-hook ...
--init-hook = "from pylint.config import find_pylintrc; import os, sys; sys.path.append(os.path.dirname(find_pylintrc()))"
Это решение было найдено в Ошибка PyLint «Невозможно импортировать» - как установить PYTHONPATH?. Я не создавал и не редактировал pylintrc, но добавил вышеизложенное с помощью графического интерфейса VS Code.
Кажется, у меня возникла эта проблема, потому что django был установлен в моей базовой виртуальной среде, а не в той, которую я фактически использовал для проекта. Это в основном заставляло его работать, но отображать ошибки и некорректно выполнять автозаполнение.
Чтобы исправить я просто
Как только это будет сделано, вы можете вернуться к VS Code и переключить среду python на базовую, а затем обратно на ту, которую вы хотите, в нижнем левом углу VS Code.
Ошибки должны исчезнуть и автозаполнение должно работать.
Итак, через 2 года я столкнулся с этой досадной проблемой. Все, что я здесь вижу, - это действительно сложные обходные пути. Вот простые шаги для всех, кто может столкнуться с этим позже:
Это все, что вам нужно сделать, и избегать изменения этих настроек в VS Code, которые могут быть очень сложными или не выполняться с осторожностью.
Спасибо Surveyor Jr. Это на самом деле не сработало для меня в тот день. Так что, возможно, были улучшения. Спасибо, что добавили в ветку этот обходной путь!
У меня это тоже не работает
@JamieMarshall Думаю, теперь это зависит от ОС. Я пользователь Windows. #Предположение. Но, надеюсь, вы уже нашли ответ.
@SurveyorJr - Я тоже windows. У меня оказалось, что пришлось деинсталлировать и заново устанавливать pylint.
при импорте модуля в подкаталог добавьте следующий параметр в .vscode / settings.json:
"python.analysis.extraPaths": [
"./directory_name"
]
pip install pylint-django, затем в настройках кода vs добавьте это:"python.linting.pylintArgs": [ "--load-plugins=pylint_django", ],