21-01-2015, 17:04
обновление 20150113, версия 7.3.5
требуется установка xhtml2pdf. ставится без проблем, но версия reportlab 3.1
а в xhtml2pdf требуется более 2.1 версия и проверяется уж совершенно для меня диким способом:
if not (reportlab.Version[0] == "2" and reportlab.Version[2] >= "1"):
тем самым, подходит любая версия из ветки 2, а у нас 3, поэтому считается, что она не подходит.
проблема описана хорошо здесь: http://stackoverflow.com/questions/22075...ror-django
и пока это единственное решение, что реализовал.
вот эти строчки в файле /usr/local/lib/python2.7/dist-packages/xhtml2pdf-0.0.5-py2.7.egg/xhtml2pdf/util.py (у вас он может быть по другому пути):
меняем на
ВНИМАНИЕ НА ВЫРАВНИВАНИЕ СТРОК!!! Питон к этому чувствителен, в отличие от других языков программирования. Все строки от края страницы, "raise ImportError" на 4 пробела от края.
требуется установка xhtml2pdf. ставится без проблем, но версия reportlab 3.1
а в xhtml2pdf требуется более 2.1 версия и проверяется уж совершенно для меня диким способом:
if not (reportlab.Version[0] == "2" and reportlab.Version[2] >= "1"):
тем самым, подходит любая версия из ветки 2, а у нас 3, поэтому считается, что она не подходит.
проблема описана хорошо здесь: http://stackoverflow.com/questions/22075...ror-django
и пока это единственное решение, что реализовал.
вот эти строчки в файле /usr/local/lib/python2.7/dist-packages/xhtml2pdf-0.0.5-py2.7.egg/xhtml2pdf/util.py (у вас он может быть по другому пути):
Код:
if not (reportlab.Version[0] == "2" and reportlab.Version[2] >= "1"):
raise ImportError("Reportlab Version 2.1+ is needed!")
REPORTLAB22 = (reportlab.Version[0] == "2" and reportlab.Version[2] >= "2")
меняем на
Код:
_reportlab_version = tuple(map(int, reportlab.Version.split('.')))
if _reportlab_version < (2,1):
raise ImportError("Reportlab Version 2.1+ is needed!")
REPORTLAB22 = _reportlab_version >= (2, 2)
ВНИМАНИЕ НА ВЫРАВНИВАНИЕ СТРОК!!! Питон к этому чувствителен, в отличие от других языков программирования. Все строки от края страницы, "raise ImportError" на 4 пробела от края.