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'
>>>
我相信我已经安装了所有依赖项。这是怎么回事?
看来你也有同样的问题https://github.com/Kozea/WeasyPrint/issues/353.
可能是因为您的版本已过时
html5lib
。它至少需要是html5lib-1.0b9
。如果您安装了 html5lib
,尽管 pip
它可能仍然是 html5lib-1.0b8
。我建议您通过这样做进行更新:
pip install --pre html5lib
打开文件:
/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
El
Capitan 10.11.6
(15G31
)