2
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from weasyprint import HTML
>>> HTML('http://weasyprint.org/').write_pdf('/tmp/weasyprint-website.pdf')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/weasyprint/__init__.py", line 94, in __init__
    namespaceHTMLElements=False)
TypeError: parse() got an unexpected keyword argument 'override_encoding'
>>>

我相信我已经安装了所有依赖项。这里发生了什么?

4

2 回答 2

0

看来你和这个https://github.com/Kozea/WeasyPrint/issues/353有同样的问题。

这可能是因为你有一个过时的html5lib. 它至少需要是html5lib-1.0b9. 如果你安装它可能仍然html5lib是. 我建议你这样做更新:piphtml5lib-1.0b8

pip install --pre html5lib
于 2016-09-20T05:44:12.203 回答
-1

打开文件 :/usr/local/lib/python2.7/dist-packages/weasyprint/__init__.py

更改此代码:

result = html5lib.parse(
                    source, treebuilder='lxml', override_encoding=encoding,
                    transport_encoding=protocol_encoding,
                    namespaceHTMLElements=False)

对此:

result = html5lib.parse(
                    source, treebuilder='lxml'
                )

它在OS X ElCapitan 10.11.6( 15G31)上对我有用

于 2016-07-20T13:19:13.083 回答