Python%mprun抛出类型错误
我上班有点困难。每当我从IPython中运行%mprun时,我都会收到错误消息Python%mprun抛出类型错误,python,memory-profiling,Python,Memory Profiling,我上班有点困难。每当我从IPython中运行%mprun时,我都会收到错误消息 TypeError: unicode argument expected, got 'str' 我用的是我能想象到的最简单的例子 In [1]: %load_ext memory_profiler In [2]: from mpruntest import func In [3]: A = rnd.randn(1000, 1000) In [4]: %mprun -f func func(A) 给出: /User
TypeError: unicode argument expected, got 'str'
我用的是我能想象到的最简单的例子
In [1]: %load_ext memory_profiler
In [2]: from mpruntest import func
In [3]: A = rnd.randn(1000, 1000)
In [4]: %mprun -f func func(A)
给出:
/Users/markvdw/anaconda/lib/python2.7/site-packages/memory_profiler.pyc in show_results(prof, stream, precision)
600 'Line Contents')
601
--> 602 stream.write('Filename: ' + filename + '\n\n')
603 stream.write(header + '\n')
604 stream.write('=' * len(header) + '\n')
TypeError: unicode argument expected, got 'str'
mpruntest
包含:
import numpy as np
def func(x):
y = x**2.0
z = np.exp(y)
return z
这是一个与Python 2相关的bug。我刚刚发布了新版本的memory_profiler(0.41),应该可以解决这个问题。现在的输出是您所期望的:
Line # Mem usage Increment Line Contents
================================================
11 42.5 MiB 0.0 MiB def func(x):
12 50.2 MiB 7.6 MiB y = x**2.0
13 57.8 MiB 7.6 MiB z = np.exp(y)
14 57.8 MiB 0.0 MiB return z
如果您尝试
stream.write('Filename:'+unicode(Filename)+'\n\n')
?该错误是从内存分析器中抛出的
代码,我主要想知道我是否做错了什么,或者我是否应该提交错误报告。抱歉,我将流的输出错误为您自己的脚本的一部分,所以我的建议是无效的。我个人认为mpruntest
没有任何问题。可能是个虫子