版本:0.50.0
在release notes for details中。这个official documentation有一个链接,它指示我如何制作每个功能的内存使用情节。但是当我尝试在这篇文章中运行完全相同的代码时。
test1.py
import time
@profile
def test1():
n = 10000
a = [1] * n
time.sleep(1)
return a
@profile
def test2():
n = 100000
b = [1] * n
time.sleep(1)
return b
if __name__ == "__main__":
test1()
test2()
命令是:
mprof run test1.py
我收到此错误:
追踪(最近一次呼叫最后一次):
文件“test.py”,第3行,in @轮廓 NameError:名称'profile'未定义
这很奇怪,因为有来自官方的报价:
警告
如果您的Python文件从memory_profiler导入配置文件导入内存探查器,则不会记录这些时间戳。注释掉导入,保留功能,然后重新运行。
因此,如果我想获得每个功能的内存使用情节,我需要注释from memory_profiler import profile
,但是当我注释掉它时,会出现错误。
答案 0 :(得分:1)
文档不是最新的,尝试使用mprof run --python python3 test1.py
(导入已注释掉),它似乎对我有效,但只生成输出到文件,根本不写入stdout。