ошибка в инструкции импорта в reportlab

#reportlab

#reportlab

Вопрос:

Мне нужна была помощь в понимании причины следующей ошибки. При запуске гистограммы, генерирующей код в reportlab по URLhttps://www.reportlab.com/snippets/3 /, Я столкнулся с ошибкой в строке

из standard_colors импортируйте pdf_chart_colors, setItems

заявляя, что:

Ошибка импорта: отсутствует модуль с именем standard_colors

Я не понимаю, есть ли проблема при установке reportlab или чего-то еще. Пожалуйста, укажите.

Комментарии:

1. Я не знаком с модулем standard_colors. Может быть, это что-то специфичное для коммерческих продуктов ReportLab?

2. Я понятия не имею об этом. Но, как вы можете видеть в коде, они используют «setItems» и «pdf_chart_colors» в коде, который взят из standard_colors. Если я не использую это, я не знаю альтернативы для того же.

3. Хм, тогда не уверен, потому что я никогда не использовал эти функции в ReportLab (мне всегда нужно было больше математических графиков, и я использовал MatPlotLib). Просто попробуйте исключить этот материал и посмотрите, что произойдет: мы надеемся, вы получите что-то в оттенках серого, над которым затем сможете поработать, чтобы найти способ раскрасить, если хотите.

Ответ №1:

Мне стало любопытно по этому вопросу, и я начинаю копать. В сообщении указано, каким должен быть исходный код standard_colors.

standard_colors.py:

 from reportlab.lib.colors import HexColor 

pdf_chart_colors = [ HexColor("#0000e5"), HexColor("#1f1feb"), HexColor("#5757f0"), HexColor("#8f8ff5"), HexColor("#c7c7fa"), HexColor("#f5c2c2"), HexColor("#eb8585"), HexColor("#e04747"), HexColor("#d60a0a"), HexColor("#cc0000"), HexColor("#ff0000"), ] 

def setItems(n, obj, attr, values): 
    m = len(values) 
    i = m // n 
    for j in xrange(n): 
        setattr(obj[j],attr,values[j*i % m])
  

источник: https://www.reportlab.com/snippets/3 /