【发布时间】:2022-07-13 01:39:37
【问题描述】:
我正在尝试使用 Scalene 调试模块中的内存泄漏。
不幸的是,我似乎只能运行scalene script.py,而我需要能够指定模块才能使用python -m mymodule 正确运行应用程序,而这似乎无法使用scalene。
有没有办法克服这个问题?提前谢谢你
【问题讨论】:
我正在尝试使用 Scalene 调试模块中的内存泄漏。
不幸的是,我似乎只能运行scalene script.py,而我需要能够指定模块才能使用python -m mymodule 正确运行应用程序,而这似乎无法使用scalene。
有没有办法克服这个问题?提前谢谢你
【问题讨论】:
scalene your_prog.py # full profile (prints to console)python3 -m scalene your_prog.py # equivalent alternative
您可以将第二种形式与 Scalene 一起使用。
【讨论】:
您可以使用runpy.run_module() 在您的模块周围创建一个包装器,然后您可以对其进行分析!
wrapper.py 可能包含:
from runpy import run_module
run_module('your_module_name', run_name='__main__')
然后你可以运行scalene wrapper.py!
需要run_name 参数才能“欺骗”if __name__ == '__main__' 子句执行(如果有的话)。
【讨论】: