Je commence à utiliser vscode pour Python. J'ai un programme de test simple. Je veux l'exécuter sous le débogage et je dois définir le répertoire de travail pour l'exécution.
Comment / où dois-je faire ça?
Je commence à utiliser vscode pour Python. J'ai un programme de test simple. Je veux l'exécuter sous le débogage et je dois définir le répertoire de travail pour l'exécution.
Comment / où dois-je faire ça?
Réponses:
Le commentaire de @ SpeedCoder5 mérite d'être une réponse;
Plus précisément, vous pouvez spécifier un répertoire de travail dynamique; (c'est-à-dire quel que soit le répertoire où se trouve le fichier Python actuellement ouvert), en utilisant"cwd": "${fileDirname}"
si vous utilisez l' Python: Current File (Integrated Terminal)
option lorsque vous exécutez Python, votre launch.json
fichier peut ressembler au mien, ci-dessous.
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${fileDirname}"
},
//... other settings, but I modified the "Current File" setting above ...
}
[Souvenez-vous que le launch.json
fichier contrôle les paramètres d'exécution / débogage de votre projet de code Visual Studio] [1]; mon launch.json
fichier a été généré automatiquement par VS Code, dans le répertoire de mon "Open Project" actuel. Je viens de modifier le fichier manuellement pour l'ajouter "cwd": "${fileDirname}"
comme indiqué ci-dessus.
N'oubliez pas que le launch.json
fichier peut être spécifique à votre projet ou spécifique à votre répertoire, alors confirmez que vous modifiez le bon launch.json
(voir commentaire)
Si vous n'avez pas de launch.json
fichier, essayez ceci :
Pour créer un fichier launch.json, ouvrez votre dossier de projet dans VS Code (Fichier> Ouvrir le dossier), puis sélectionnez l'icône Configurer l'engrenage dans la barre supérieure de la vue Débogage. [1]: https://code.visualstudio.com/docs/editor/debugging#_launch-versus-attach-configurations
Tout ce que vous avez à faire est de configurer le paramètre cwd dans le fichier launch.json comme suit:
{
"name": "Python",
"type": "python",
"pythonPath":"python",
....
"cwd": "<Path to the directory>"
....
}
Vous trouverez plus d'informations à ce sujet sur le site Web officiel de la documentation VS Code .
"cwd": "${fileDirname}"
pour exécuter dans le répertoire actuel du fichier open source
Dans certains cas, il peut également être utile de définir le PYTHONPATH
avec workspaceFolder
:
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}",
"env": {
"PYTHONPATH": "${cwd}"
}
}
Je poste cet exemple de configuration pour les personnes qui utilisent TypeScript sur Node.js
dans mon projet, les fichiers TypeScript de mon serveur Node.js sont situés dans le dossier Application_ts et les fichiers js compilés sont générés dans le dossier nommé Application
car lorsque nous exécutons notre application en mode débogage ou que nous la démarrons normalement, nous devrions commencer à partir du dossier Application qui contient les fichiers js, donc la configuration ci-dessous lance le débogage à partir du dossier racine où mon application_ts existe également et fonctionne parfaitement
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug TypeScript in Node.js",
"program": "${workspaceRoot}\\Application\\app.js",
"cwd": "${workspaceRoot}\\Application",
"protocol": "inspector",
"outFiles": [],
"sourceMaps": true
},
{
"type": "node",
"request": "attach",
"name": "Attach to Process",
"port": 5858,
"outFiles": [],
"sourceMaps": true
}
]
}
Vous pouvez configurer le répertoire de travail actuel pour le programme débogué en utilisant l' cwd
argument danslaunch.json
Pour définir le répertoire de travail actuel sur le fichier que vous exécutez à ce moment-là:
Fichier> Préférences> Paramètres> Python> Data Science> Exécuter dans le répertoire de fichiers
Merci brch: Python dans VSCode: définissez le répertoire de travail sur le chemin du fichier python à chaque fois