Anaconda fonctionne sur mon système et VsCode, mais comment puis-je obtenir que VsCode active un environnement spécifique lors de l'exécution de mon script python?
Si Anaconda est votre installation Python par défaut, cela ne fonctionne que si vous installez l'extension Microsoft Python .
Ce qui suit devrait fonctionner quel que soit l'éditeur Python ou si vous devez indiquer une installation spécifique:
Dans settings.json, éditez python.path avec quelque chose comme:
"python.pythonPath": "C:\\Anaconda3\\envs\\py34\\python.exe"
Instructions pour modifier settings.json
La meilleure option que j'ai trouvée consiste à définir le paramètre python.venvPath
dans vscode settings sur votre dossier envs anaconda.
"python.venvPath": "/Users/[...]/Anaconda3/envs"
Ensuite, si vous affichez la palette de commandes (ctl + shift + P
sous Windows/linux, cmd + shift + P
sous mac) et tapez Python: Select Workspace Interpreter
, tous vos envs apparaîtront et vous pourrez choisir quel env.
L'extension python devra également être installée pour l'option de sélection de l'interpréteur d'espace de travail.
Remarque: L'interpréteur Select Workspace nécessite environ 10 secondes pour s'afficher sur mon ordinateur à l'aide de la version actuelle de VSCode.
Bien que approuvé réponse soit correct, je souhaite montrer une approche légèrement différente (basée sur cette réponse ).
Vscode peut automatiquement choisir le bon environnement anaconda si vous démarrez vscode à partir de celui-ci. Ajoutez simplement aux paramètres utilisateur/espace de travail:
{
"python.pythonPath": "C:/<proper anaconda path>/Anaconda3/envs/${env:CONDA_DEFAULT_ENV}/python"
}
Cela fonctionne sur Windows, macOS et probablement Unix. Pour en savoir plus sur la substitution de variable dans vscode: here .
Malheureusement, cela ne fonctionne pas sur macOS. Malgré le fait que j'ai export CONDA_DEFAULT_ENV='$HOME/anaconda3/envs/dev'
dans mon .zshrc et "python.pythonPath": "${env.CONDA_DEFAULT_ENV}/bin/python",
dans mes préférences VSCode, le terminal intégré n'utilise pas Python de cet environnement, même si j'ai démarré VSCode à partir de la ligne de commande où cette variable est définie.
J'ai essayé de définir python.pythonPath dans VSCode settings.json, mais cela ne fonctionne pas pour moi.
Selon la documentation Anaconda " Code Microsoft Visual Studio (Code VS) ", où dit
When you launch VS Code from Navigator, VS Code is configured to use the Python interpreter in the currently selected environment.
.
Faites comme indiqué ci-dessus, je peux travailler correctement sur certains environnements Anaconda.
Si vous avez besoin d'un environnement indépendant pour votre projet: Installez votre environnement dans le dossier de votre projet à l'aide de l'option --prefix:
conda create --prefix C:\your\workspace\root\awesomeEnv\ python=3
Dans la configuration VSCode launch.json, définissez votre "pythonPath" sur:
"pythonPath":"${workspaceRoot}/awesomeEnv/python.exe"
J'ai trouvé une solution hacky qui remplace votre variable d'environnement par le fichier python d'origine. Elle peut donc simplement appeler depuis le dossier python.exe à partir de votre dossier anaconda.
de sorte que votre seul chemin python dans env var devrait être comme
"C:\Anaconda3\envs\py34\", or where ever the python exe lives
Si vous avez besoin de plus de détails, cela ne me dérange pas d'expliquer. :)
Trouvez une note ici: https://code.visualstudio.com/docs/python/environments#_conda-environments
Comme indiqué précédemment, l'extension Python détecte automatiquement les environnements Conda existants, à condition que l'environnement contienne un interpréteur Python. Par exemple, la commande suivante crée un environnement conda avec l'interpréteur Python 3.4 et plusieurs bibliothèques, que VS Code affiche ensuite dans la liste des interprètes disponibles:
conda create -n env-01 python=3.4 scipy=0.15.0 astroid babel
En revanche, si vous ne spécifiez pas d'interprète, comme avec conda create --name env-00, l'environnement n'apparaîtra pas dans la liste.