web-dev-qa-db-fra.com

Code Visual Studio - Comment ajouter plusieurs chemins à un chemin python?

J'expérimente avec Visual Studio Code et jusqu'à présent, il semble génial (léger, rapide, etc.).

J'essaie de faire fonctionner une de mes applications Python qui utilise un environnement virtuel, mais utilise également des bibliothèques qui ne figurent pas dans le package de site de mon environnement virtuel.

Je sais que dans settings.json, je peux spécifier un paramètre python.pythonPath, ce que j’ai fait et qui pointe par environnement virtuel.

Je sais aussi que je peux dd des chemins supplémentaires vers "python.autoComplete.extraPaths", où j’ajoute les bibliothèques externes. Le problème est que, lorsque je débogue, cela échoue car il ne trouve pas les bibliothèques spécifiées dans "python.autoComplete.extraPaths".

Y at-il un autre paramètre qui doit être utilisé pour cela?

Merci

7
mike01010

Cela a fonctionné pour moi: -

dans votre entrée de profil launch.json, spécifiez une nouvelle entrée appelée "env" et définissez vous-même 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"
        }
    }
]
12
malbs

J'ai eu le même problème, malbs réponse ne fonctionne pas jusqu'à ce que je change de point-virgule en un colon, vous pouvez le trouver dans les commentaires de ZhijiaCHEN

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

Alternativement, j'ai un moyen de hack pour atteindre le même objectif:

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

Vous pouvez ajouter un fichier .pth au répertoire site-packages de votre virtualenv.

Ce fichier doit avoir un chemin d'accès absolu par ligne, pour chaque module ou package à inclure dans PYTHONPATH.

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

0
tebanep

L'extension Python dans VS Code a un paramètre pour python.envFile qui spécifie le chemin d'accès à un fichier contenant les définitions de variable d'environnement. Par défaut, il est défini sur:

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

Donc, pour ajouter vos bibliothèques externes au chemin, créez un fichier nommé .env dans votre dossier d’espace de travail et ajoutez-y la ligne ci-dessous si vous utilisez Windows:

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

L'avantage de spécifier le chemin ici est que l'auto-complétion ainsi que le débogage fonctionnent avec ce même paramètre. Vous devrez peut-être fermer et rouvrir VS Code pour que les paramètres prennent effet.

0
Web Developer

bash escamotage (fonctionne avec le débogueur ET la complétion automatique); besoin d'installer la commande de code dans PATH (commande vsc Shell: 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'

lancez VSC en tapant "vscode".

0
Kabu