Ответ 1
В настройках вашего рабочего пространства вы можете установить путь к Python следующим образом:
{
"python.pythonPath": "/path/to/your/venv/bin/python",
}
Я использую следующую настройку
Я хочу использовать linting, чтобы сделать мою жизнь немного проще в коде Visual Studio, однако, каждый мой импорт говорит о "неразрешенном импорте". Даже при импорте django по умолчанию (т.е. из моделей импорта django.db).
Я предполагаю, что это потому, что он не видит файлы Python виртуальной среды.
Все работает просто отлично, но это начинает раздражать.
У меня есть выбор интерпретатора - все системные версии python. Кажется, он вообще не видит моего виртуального окружения python (он не находится в том же каталоге, что и мое рабочее пространство, поэтому эта часть имеет смысл).
Если я устанавливаю python.PythonPath в файле settings.json, он просто игнорирует его и не указывает путь к моей виртуальной среде в качестве опции. Я также попытался настроить его в моих глобальных настройках Python, но он также не отображается.
Кто-нибудь сталкивался с этой проблемой и знает быстрое решение, чтобы заставить его работать?
Спасибо, JAC
В настройках вашего рабочего пространства вы можете установить путь к Python следующим образом:
{
"python.pythonPath": "/path/to/your/venv/bin/python",
}
Этот вопрос уже был открыт на GitHub: https://github.com/Microsoft/vscode-python/issues/3840. Есть два очень полезных ответа от MagnuesBrzenk и SpenHouet.
Лучшее решение на данный момент - это создать файл .env в корневой папке вашего проекта. Затем добавьте PYTHONPATH к нему так:
PYTHONPATH=YOUR/MODULES/PATH
и в настройках .json добавь
"python.envFile": ".env"
Если у вас есть этот код в вашем файле settings.json
, удалите его
{
"python.jediEnabled": false
}
Альтернативный способ: используйте командный интерфейс!
cmd/ctrl + shift + p
> Python: Select Interpreter
> выберите тот, в котором вы ищите пакеты
Принятый ответ не исправит ошибку при импорте собственных модулей.
Используйте следующие настройки в настройках вашего рабочего пространства .vscode/settings.json
"python.autoComplete.extraPaths": ["./path-to-your-code"],
Когда я > reload window
это исправляет.
ссылка: https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-452657892
Я смог решить эту проблему, включив джедай в .vscode\settings.json
"python.jediEnabled": true
Ссылка от https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-456017675
Ничто из вышеперечисленного не помогло мне. Однако добавление обеих строк ниже в мой файл settings.json помогло.
"python.analysis.disabled": [
"unresolved-import"
],
"python.linting.pylintArgs": ["--load-plugin","pylint_protobuf"]
Первая строка действительно скрывает ошибку линтинга. Конечно, не постоянное решение, но снимает загромождение с экрана.
Этот ответ дал мне вторую строку: VS Code PyLint Ошибка E0602 (неопределенная переменная) с скомпилированной структурой Python ProtoBuf
Может быть, кто-то, кто понимает Python больше, чем я, может объяснить это еще раз.
У меня есть другое решение: мой экземпляр VSCode обнаружил virtualenv, хранящийся в .venv
, но использовал неправильный двоичный файл Python. Он использовал .venv/bin/python3.7
; используя переключатель в синей строке состояния, я изменил его на использование .venv/bin/python
и все мои .venv/bin/python
импорта были решены правильно. Я не знаю, что делает VSCode за кулисами, когда я делаю это, и не понимаю, почему это вызывало мою проблему, но для меня это было несколько более простым решением, чем редактирование настроек рабочего пространства. Надеюсь, это кому-нибудь поможет.
Это работает для меня:
Откройте командную палитру (Ctrl-Shift-P) и выберите "Python: Select Interpreter". Делая это, вы устанавливаете интерпретатор Python в VSCode
Решение от @Shinebayar G сработало, но другое более элегантно:
Скопировано из https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-463789294:
Приведен следующий пример структуры проекта:
Что я сделал, чтобы решить эту проблему:
Incase of pylint error установите следующее
pipenv install pylint-django
Затем создайте файл .pylintrc в корневой папке и напишите следующее
load-plugins=pylint-django
Мое решение. Это решение только для текущего проекта.
.vscode
.vscode/settings.json
setting.json
добавьте строку (это для python3){
"python.pythonPath": "/usr/local/bin/python3",
}
{
"python.pythonPath": "/usr/local/bin/python",
}
Если вы не знаете, где находится ваш питон, просто запустите на терминале команду which python
или which python3
, которая напечатает местоположение питона.
Этот пример работает для Dockerized Python - Django.
Я исправил ошибку импорта по CTRL+Shift+P
введите Настройки предпочтений и выберите опцию Preferences Open Settings (JSON)
и добавьте строку "python.pythonPath": "/usr/bin/"
Так что JSON должен выглядеть как
{
"python.pythonPath": "/usr/bin/"
}
Сохраните другие строки конфигурации, если они есть. Это должно импортировать все модули, которые вы установили, используя PIP для автозаполнения.
Мое решение состояло в том, чтобы открыть vscode в предыдущем каталоге.