Python >> Tutoriel Python >  >> Python Tag >> VScode

Comment faire en sorte que VSCode recharge automatiquement les modules externes *.py ?

Mise à jour :La solution ultime. Ajoutez simplement ceci dans votre code.

%reload_ext autoreload
%autoreload 2

=========================================Je n'ai pas trouvé le moyen de faire du python interactif de rafraîchissement automatique de vscode lorsque le fichier .py change. mais j'essaie importlib.reload() , ça marche d'une certaine manière.

import funcs
import importlib
importlib.reload(funcs)
from funcs import *

funcs est mes fichiers .py, et le code ci-dessus doit être exécuté lorsque le fichier change.


Il ne s'agit en fait pas de l'extension Python pour VS Code mais du REPL que vous utilisez et de ce qu'il fournit (ce qui, je suppose, est le REPL dans le terminal, mais vous n'avez pas précisé s'il s'agissait de cela ou de la fenêtre interactive).

Quoi qu'il en soit, honnêtement, je trouve un peu inquiétant que Spyder fasse un rechargement automatique car il y a tellement de situations "gotcha" qui lui sont liées (en tant qu'implémenteur de l'importation en Python, je sais de première main que le rechargement d'un module ne fonctionne que dans certains cas et celui que vous suggérez ci-dessus entre dans la catégorie de ne pas obtenir ce que vous attendez en raison de votre from doStuff import doStuff appeler de manière fiable sans quelques hacks magiques sur lesquels je ne voudrais pas compter).


Il est désormais possible de paramétrer le rechargement automatique en ajoutant :

    "python.dataScience.runStartupCommands": [
        "%load_ext autoreload", "%autoreload 2"
    ]

à settings.json .