Código de Visual Studio – ¿Cómo agregar múltiples rutas a la ruta de Python?

Estoy experimentando con Visual Studio Code y hasta ahora, parece genial (ligero, rápido, etc.).

Estoy tratando de ejecutar una de mis aplicaciones de Python que usa un entorno virtual, pero también usa bibliotecas que no están en el paquete de sitio de mi entorno virtual.

Sé que en settings.json, puedo especificar una configuración de python.pythonPath, que he hecho y está apuntando a un entorno virtual.

También sé que puedo dd rutas adicionales a “python.autoComplete.extraPaths”, donde hasta ahora estoy agregando las bibliotecas externas. El problema es que cuando estoy depurando, está fallando porque no encuentra las bibliotecas especificadas en “python.autoComplete.extraPaths”.

¿Hay otro ajuste que se debe utilizar para esto?

Gracias

Esto funcionó para mí:

en su entrada de perfil de launch.json, especifique una nueva entrada llamada “env”, y establezca PYTHONPATH usted mismo.

 "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" } } ] 

La extensión de Python en el Código VS tiene una configuración para python.envFile que especifica la ruta a un archivo que contiene definiciones de variables de entorno. De forma predeterminada, se establece en:

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

Entonces, para agregar sus bibliotecas externas a la ruta, cree un archivo llamado .env en su carpeta de área de trabajo y agregue la siguiente línea si está usando Windows:

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

La ventaja de especificar la ruta aquí es que tanto la autocompletar como la depuración funcionan con esta configuración. Es posible que deba cerrar y volver a abrir el Código VS para que la configuración tenga efecto.

Podría agregar un archivo .pth al directorio de paquetes de sitio de su virtualenv.

Este archivo debe tener una ruta de acceso por línea para cada módulo o paquete que se incluirá en PYTHONPATH.

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

bash escamotage (funciona con depurador Y autocompletado); necesita instalar el comando de código en PATH (vsc shell command: install …)

 #!/bin/bash # # vscode python setup # function fvscode { # you just want one of this: export PYTHONPATH= # you may want many of these: export PYTHONPATH=:$PYTHONPATH # launch vscode code } alias vscode='fvscode' 

el lanzamiento VSC escribiendo ‘vscode’.

Tuve el mismo problema, la respuesta de Malbs no me funciona hasta que cambio el punto y coma a dos puntos, puedes encontrarlo en los comentarios de ZhijiaCHEN.

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

Alternativamente, tengo una forma de hackear para lograr lo mismo:

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