Код 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')