2016-07-20 3 views
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' 
>>> 

Я считаю, что я установил все зависимости. Что здесь происходит?ТипError: parse() получил неожиданный аргумент ключевого слова 'override_encoding'

ответ

0

Открыть файл: /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)

0

Кажется, у вас такая же проблема, как у этого https://github.com/Kozea/WeasyPrint/issues/353.

Возможно, это связано с тем, что вы устарели html5lib. Он должен быть не менее html5lib-1.0b9. Если вы установите html5lib, хотя pip все равно может быть html5lib-1.0b8. Предлагаю вам обновить, сделав следующее:

pip install --pre html5lib 
Смежные вопросы