Код Visual Studio - Как добавить несколько путей к пути python?

Я экспериментирую с кодом Visual Studio и пока он выглядит великолепно (легкий, быстрый и т.д.).

Я пытаюсь запустить одно из моих приложений Python, которое использует виртуальную среду, но также использует библиотеки, которых нет в пакете сайта моей виртуальной среды.

Я знаю, что в settings.json я могу указать параметр python.pythonPath, который я сделал и указывает на виртуальную среду.

Я также знаю, что могу добавить дополнительные пути к python.autoComplete.extraPaths, где до сих пор я добавляю внешние библиотеки. Проблема в том, что при отладке происходит сбой, потому что он не находит библиотеки, указанные в python.autoComplete.extraPaths.

Есть ли другая настройка, которая должна использоваться для этого?

Спасибо

Ответ 1

Это сработало для меня: -

в записи вашего запуска launch.json, укажите новую запись под названием "env" и установите PYTHONPATH самостоятельно.

"configurations": [
    {
        "name": "Python",
        "type": "python",
        "request": "launch",
        "stopOnEntry": false,
        "pythonPath": "${config.python.pythonPath}",
        "program": "${file}",
        "cwd": "${workspaceRoot}",
        "debugOptions": [
            "WaitOnAbnormalExit",
            "WaitOnNormalExit",
            "RedirectOutput"
        ],
        "env": {
            "PYTHONPATH": "/path/a;path/b"
        }
    }
]

Ответ 2

Расширение Python в VS Code имеет параметр для python.envFile который указывает путь к файлу, содержащему определения переменных среды. По умолчанию установлено:

"python.envFile": "${workspaceFolder}/.env"

Поэтому, чтобы добавить внешние библиотеки к пути, создайте файл с именем .env в папке рабочей области и добавьте в него строку ниже, если вы используете Windows:

PYTHONPATH="C:\path\to\a;C:\path\to\b"

Преимущество указания пути заключается в том, что как автозаполнение, так и отладка работают с самим этим параметром. Возможно, вам придется закрыть и заново открыть VS Code, чтобы настройки вступили в силу.

Ответ 3

Вы можете добавить файл .pth в каталог виртуальных сайтов-сайтов.

Этот файл должен иметь абсолютный путь в строке, для каждого модуля или пакета, который должен быть включен в PYTHONPATH.

https://docs.python.org/2.7/install/index.html#modifying-python-s-search-path

Ответ 4

bash escamotage (работает с отладчиком и автозаполнением); необходимо установить команду кода в PATH (команда оболочки vsc: install...)

#!/bin/bash

#
# vscode python setup
#

function fvscode {
  # you just want one of this:
  export PYTHONPATH=<your python installation ../bin/python3>
  # you may want many of these:
  export PYTHONPATH=<your lib dir here>:$PYTHONPATH
  # launch vscode
  code 
}
alias vscode='fvscode'

запуска VSC, набрав 'vscode'.

Ответ 5

У меня была такая же проблема, у меня не работает ответ malbs, пока я не заменю точку с запятой на двоеточие, вы можете найти ее в комментариях от ZhijiaCHEN

"env": { "PYTHONPATH": "/path/to/a:/path/to/b" }

В качестве альтернативы у меня есть хакерский способ добиться того же:

# at the top of project app script:
import sys
sys.path.append('/path/to/a')
sys.path.append('/path/to/b')