Visual Studio Code переопределяет python интерпретатор во встроенном терминале - PullRequest
0 голосов
/ 23 февраля 2020

При запуске кода интегрированного терминала для Visual Studio для проекта Python, который работает в собственной виртуальной среде, путь к двоичному файлу python остается неизменным. Другими словами, вывод встроенного терминала выглядит следующим образом (после его запуска):

user@host:~/repos/project$ source /home/user/repos/project/.env/bin/activate
(.env) user@host:~/repos/project$ which python
/usr/bin/python
(.env) user@host:~/repos/project$ which python3
/usr/bin/python3
(.env) user@host:~/repositories/karbon/kuring$ echo $PATH

/ home / user / repos / project / .env / bin: / home / user / local / bin : /home/user/.cargo/bin: / Главная / пользователь / местные / бен: /home/user/.cargo/bin: / USR / местные / бен: / USR / бен: / бен: / USR / местные / games: / usr / games

В настройках проекта виртуальная среда настраивается следующим образом:

.vscode/settings.json:

{"python.pythonPath": ".env/bin/python",}

В палитре команд был выбран интерпретатор, указывающий на тот же путь к файлу.

Странно, что даже запуск «source .env / bin / activ» в отдельном терминале, похоже, загружает виртуальную среду, но путь Python остается неизменным.

Вопрос : не должен ли VS Code загружать интерпретатор из виртуальной среды, а не из операционной системы?

Обратите внимание, чем в обычном BASH терминале вне кода VS у меня нет проблем, когда речь заходит об использовании виртуальной среды.

1 Ответ

0 голосов
/ 23 февраля 2020

VS расширение Python кода изменяет путь в Linux и MA C. Это поведение предназначено, поскольку при создании нового терминала среда наследуется по умолчанию от IDE кода VS, а не от обычной ОС.

Эта проблема может быть исправлена ​​путем установки переменной в пользовательских настройках JSON файл.

Подробнее здесь: https://github.com/microsoft/vscode-python/issues/10131

...