lxml.html.html5parser causes lxml.etree._utf8 to raise TypeError

Hi, I get an exception when I try to use lxml.html.html5parser, with any source. Here is a test case: from lxml.html import html5parser html5parser.fromstring('') And the traceback I get: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/lxml/html/html5parser.py", line 137, in fromstring guess_charset=guess_charset) File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/lxml/html/html5parser.py", line 54, in document_fromstring return parser.parse(html, useChardet=guess_charset).getroot() File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/html5lib/html5parser.py", line 211, in parse parseMeta=parseMeta, useChardet=useChardet) File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/html5lib/html5parser.py", line 111, in _parse self.mainLoop() File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/html5lib/html5parser.py", line 194, in mainLoop self.phase.processEOF() File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/html5lib/html5parser.py", line 589, in processEOF self.parser.phase.processEOF() File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/html5lib/html5parser.py", line 600, in processEOF self.insertHtmlElement() File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/html5lib/html5parser.py", line 595, in insertHtmlElement self.tree.insertRoot(impliedTagToken("html", "StartTag")) File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/lxml/html/_html5builder.py", line 91, in insertRoot root_element = self.elementClass(name) File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/html5lib/treebuilders/etree.py", line 31, in __init__ namespace)) File "/home/ssapin/virtualenvs/weasy/lib/python2.7/site-packages/lxml/html/__init__.py", line 1563, in Element v = html_parser.makeelement(*args, **kw) File "parser.pxi", line 878, in lxml.etree._BaseParser.makeelement (src/lxml/lxml.etree.c:74798) File "apihelpers.pxi", line 120, in lxml.etree._makeElement (src/lxml/lxml.etree.c:11828) File "apihelpers.pxi", line 1462, in lxml.etree._getNsTag (src/lxml/lxml.etree.c:23247) File "apihelpers.pxi", line 1480, in lxml.etree.__getNsTag (src/lxml/lxml.etree.c:23373) File "apihelpers.pxi", line 1364, in lxml.etree._utf8 (src/lxml/lxml.etree.c:22190) TypeError: Argument must be bytes or unicode, got 'dict' The versions are: Python : sys.version_info(major=2, minor=7, micro=1, releaselevel='final', serial=0) lxml.etree : (2, 3, 0, 0) libxml used : (2, 7, 8) libxml compiled : (2, 7, 8) libxslt used : (1, 1, 26) libxslt compiled : (1, 1, 26) html5lib : 0.90 The test case is so simple that I fail to see how I could have gotten it wrong. Any idea of what is going on? Best regards, -- Simon Sapin
participants (1)
-
Simon Sapin