在Ubuntu12.04中使用Python3进行lxml内存泄漏

我刚刚在Ubuntu12.04 pc中使用easy_install安装了lxml,并安装了Python 3.2.3.
lxml是3.0Alpha的最新版本.

我尝试了以下代码:

import lxml.html

def proc_tweet(ss):
    html=lxml.html.fragment_fromstring(ss)
    ps=html.xpath("//p[@node-type='feed_list_content']")

def test():
    ss=''
    f=open('test')
    for l in f: ss+=l.strip()
    f.close()
    while True: proc_tweet(ss)

if __name__=='__main__':
    test()

这里,’test’是一个文件,包含一个简短的HTML片段:

<dl action-type="feed_list_item" mid="3409553360609821" class="feed_list W_linecolor"> 
    <dd class="content"> 
        <p node-type="feed_list_content">This is a drill.</p> 
    </dd> 
    <dd class="clear"></dd> 
</dl>

问题是随着时间的推移,lxml会占用我所有的记忆.我试过这个

del ps
del html

它不起作用.谁知道为什么?

解决方法:

这是在3.0 beta 1中修复的错误.

为了将来参考,最好将软件工具的问题直接报告给维护它的项目,而不是仅仅将其发布到Internet上的任意位置.启动板错误跟踪器是报告lxml错误的正确位置. github跟踪器主要用于拉取请求.

上一篇:python – lxml – 在findall()中使用regex按属性值查找标记


下一篇:python – 没有lxml Wheel for Linux?