python中typeerror_python – pympler引发TypeError

python2.7中,遵循pympler

example:

from anotherfile import somefunction, somecustomclass

from os import path, listdir

import pandas as pd

import gc

from pympler import tracker, muppy, summary

all_objects = muppy.get_objects()

print 'all objects: ', len(all_objects)

sum1 = summary.summarize(all_objects)

summary.print_(sum1)

这是导入后的第一个代码.它导致了

/usr/bin/python2.7 /myprog.py

all objects: 98755

Traceback (most recent call last):

File "/myprog.py", line 12, in

sum1 = summary.summarize(all_objects)

File "/usr/local/lib/python2.7/dist-packages/pympler/summary.py", line 131, in summarize

total_size[otype] = _getsizeof(o)

File "/usr/local/lib/python2.7/dist-packages/pandas/core/base.py", line 130, in __sizeof__

return super(self, PandasObject).__sizeof__()

TypeError: super() argument 1 must be type, not FrozenList

Process finished with exit code 1

当我尝试初始化SummaryTracker对象时,我得到了同样的错误.

它看起来像是Pympler中的一个错误,但事实上我找不到任何与之相矛盾的事实.根据官方documentation,“Pympler完全用Python编写,不依赖于外部库.它已经在Linux,Windows和MacOS X上使用Python 2.5,2.6,2.7,3.1,3.2,3.3,3.4进行了测试.”实际上,在新的python文件中仅使用python 2.7运行以下代码不会产生任何错误并按预期工作:

from pympler import muppy, tracker

tr = tracker.SummaryTracker()

tr.print_diff()

那么我错过了什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值