相关疑难解决方法(0)

在IPython中重新加载子模块

目前我正在开发一个包含子模块并使用numpy/scipy的python项目.Ipython用作交互式控制台.不幸的是,我对我现在使用的工作流程不是很满意,我将不胜感激.

在IPython中,框架由一个简单的import命令加载.但是,通常需要更改框架的一个子模块中的代码.此时已经加载了一个模型,我使用IPython与它进行交互.

现在,框架包含许多相互依赖的模块,即在最初加载框架时,主模块正在导入和配置子模块.只有在使用重新加载模块时才会执行对代码的更改reload(main_mod.sub_mod).这很麻烦,因为我需要使用完整路径单独重新加载所有已更改的模块.如果reload(main_module)还要重新加载所有子模块,但没有重新加载numpy/scipy 将是非常方便的..

python ipython

329
推荐指数
7
解决办法
12万
查看次数

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

我看到有几个问题提出这个问题,但没有一个解决方案对我有用。

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

问题是,当我对另一个模块中的函数进行更改时module1.py,即更新后调用该函数时,VSCode 不会检测到更改main.py,它仍然是旧版本。

我可以通过执行以下操作来解决这个问题:

from importlib import reload
reload module1
Run Code Online (Sandbox Code Playgroud)

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

简单地重新运行 my 顶部的导入main.py实际上并没有做任何事情,我只能在杀死 shell 并从头开始重新打开它的情况下才能做到这一点,如果我正在增量开发某些东西,这并不理想。

我读过一些可以包括在内的问题:

"files.useExperimentalFileWatcher" : true
Run Code Online (Sandbox Code Playgroud)

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

这是 Spyder 默认处理的事情,并且在从您正在开发的 pkg 中的多个模块调用函数和类时,可以非常轻松地进行增量编码。

我怎样才能在 VSCode 中实现这一点?需要明确的是,我不想使用 IPython autoreload magic 命令。

非常感激

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

链接1 链接2

python module reload visual-studio-code

2
推荐指数
1
解决办法
3939
查看次数

标签 统计

python ×2

ipython ×1

module ×1

reload ×1

visual-studio-code ×1