重新运行调试器时如何避免重新加载程序包

时间:2018-10-26 23:05:06

标签: python pycharm

因为我导入了很多软件包,所以每当我在调试模式下运行脚本时,大约要花一分钟的时间才能到达第一行代码。

我一天要在调试模式下运行很多次,所以我花了很多时间等待。

有什么办法可以加快速度吗?

1 个答案:

答案 0 :(得分:0)

加快开发周期的一种方法是保留Python进程,以便您 只需加载一次软件包。

package the script itself as a module,而不是运行脚本。 打开一个交互式python(或IPython)会话,导入您的模块,然后 通过调用其主要功能来“运行脚本”。

如果您对脚本进行了更改,则只需重新加载您的 模块。由于其他模块已经加载,因此应该相对 快。从Python modules are cached开始,第二次导入同一模块基本上是瞬时的。

在Python中,可以this way重新加载。 或者,您可以将IPython配置为在更改模块this way时自动重新加载模块或软件包。 IPython还具有一些不错的调试功能,例如%pdb,每当引发未捕获的异常时,它们就会将您带入调试器。


所以不是您的script.py像这样:

import xyz

statement1
statement2
statement3

您将其修改为外观

import xyz

def main():
    statement1
    statement2
    statement3

# This allows you to still run your module as a script:
if __name__ == '__main__':
    main()   

然后,在交互式Python会话提示符下,键入

>>> import script   
>>> script.main()

运行脚本。

相关问题