Как я могу заставить мой терминал vscode использовать мой venv для python, а не системную версию? - PullRequest
0 голосов
/ 09 апреля 2019

Я настроил venv с помощью python -m venv venv, который распознается vscode как допустимый интерпретатор и выполняет мой код, как и ожидалось, с использованием расширения vscode code-runner. Но интегрированный в bs терминал vscode использует только системную версию python, даже после запуска source /Fake/path/to/env/bin/activate. Терминал показывает (env) в приглашении ввода, но проверка версии через os.path.dirname(sys.executable) показывает, что версия python является той, которая указана в моем системном пути, а не той, что в venv. Поэтому устанавливаемые мной пакеты устанавливаются в системный python, а не в venv.

Это проблема с терминалом в vscode, а не с самим venv, так как, когда я выполняю вышеуказанные шаги в собственном терминале (не интегрированном), я получаю правильный путь к питону venv.

Я попытался установить для переменной python.venvPath в vscode значение ${workspaceFolder}/env или fake/path/to/env, но ни одна из них не работает. Я думал, что можно установить аргументы оболочки bash в параметре terminal.integrated.shellArgs.macos, но не смог понять, как заставить его запускать правильный скрипт активации при запуске. Для справки, мои текущие настройки vscode приведены ниже:

"settings": {
    "code-runner.fileDirectoryAsCwd": true;
    "code-runner.executorMap": {
        "python": "env/bin/python3",
    },
    "python.venvPath": "${workspaceFolder}/env",
    "terminal.integrated.cwd": "${workspaceFolder}",
    },
}

По сути, я ожидаю, что встроенный терминал активирует сценарий Bash Activate Bash и временно заменит путь, чтобы выбрать мой Venv Python по умолчанию. Тогда я мог бы использовать pip3 для установки соответствующих пакетов в venv, а не в системный питон. Но, несмотря на подсказку, отображающую (env) перед записью, реальное поведение состоит в том, что он указывает на неправильную версию Python при выдаче команд, например python3 или pip3.

Любой совет был бы великолепен!

1 Ответ

0 голосов
/ 10 апреля 2019

Вы можете попробовать установить переводчика по умолчанию.В самом нижнем левом углу экрана VSCode вы можете нажать на имя переводчика и выбрать тот, который вы хотите.Смотрите изображение ниже.Красный овал указывает, где нажать.

enter image description here

Как только вы щелкнете в указанном пространстве, откроется меню, в котором вы сможете выбрать интерпретатора Python.См. Изображение ниже.

enter image description here

...