gpt4 book ai didi

python - 如何在编辑后让 vscode 检测/自动重新加载模块?

转载 作者:行者123 更新时间:2023-12-01 21:35:34 25 4
gpt4 key购买 nike

我看到有几个问题在问这个问题,但没有一个解决方案适合我。

我正在不同模块中开发一些函数/类,并且有一个 main.py调用一切的脚本。

问题是,当我更改另一个模块中的函数时,即 module1.py ,当我调用 main.py 中的函数时,VSCode 未检测到更改更新后还是老版本。

我可以通过做类似的事情来解决这个问题:

from importlib import reload
reload module1

但这很快就变老了,尤其是当我从模块中导入特定函数或类时。

只需重新运行我的 main.py 顶部的导入实际上什么都不做,只有当我杀死 shell 并从头重新打开它时我才能这样做,如果我正在逐步开发某些东西,这并不理想。

我已经阅读了一些可以包括在内的问题:

"files.useExperimentalFileWatcher" : true

进入我的settings.json ,但它似乎不是我的版本 1.45.1 中的已知配置设置。

这是 Spyder 默认处理的事情,当从您正在开发的 pkg 中的多个模块调用函数和类时,可以很容易地增量编码。

我如何在 VSCode 中实现这一点?明确地说,我不想使用 IPython autoreload 魔法命令。

非常感谢

仅供引用,这是我看到的其他问题,但没有得到有效的解决方案,其中包括类似的问题/答案:

link1 link2

最佳答案

在 VS Code 中不支持这个,因为 Python 的重新加载机制不够可靠,无法在 REPL 之外使用,即使那样你也应该小心。这不是一个完美的解决方案,可能会导致陈旧的代码散落其中,这很容易让你失望(我知道这一点是因为 I wrote importlib.reload() 😁)。

关于python - 如何在编辑后让 vscode 检测/自动重新加载模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62008532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com