WEASYPRINT M1 MAC MINI

Я запускаю weasyprint, но система не может найти пакет:

(env) andrestemmett@Andres-Mac-mini MicrocareERP % weasyprint --info
Traceback (most recent call last):
  File "/Users/andrestemmett/Desktop/MicrocareERP/env/bin/weasyprint", line 5, in 
    from weasyprint.__main__ import main
  File "/Users/andrestemmett/Desktop/MicrocareERP/env/lib/python3.9/site-packages/weasyprint/__init__.py", line 322, in 
    from .css import preprocess_stylesheet  # noqa isort:skip
  File "/Users/andrestemmett/Desktop/MicrocareERP/env/lib/python3.9/site-packages/weasyprint/css/__init__.py", line 27, in 
    from . import computed_values, counters, media_queries
  File "/Users/andrestemmett/Desktop/MicrocareERP/env/lib/python3.9/site-packages/weasyprint/css/computed_values.py", line 16, in 
    from ..text.ffi import ffi, pango, units_to_double
  File "/Users/andrestemmett/Desktop/MicrocareERP/env/lib/python3.9/site-packages/weasyprint/text/ffi.py", line 380, in 
    gobject = _dlopen(
  File "/Users/andrestemmett/Desktop/MicrocareERP/env/lib/python3.9/site-packages/weasyprint/text/ffi.py", line 377, in _dlopen
    return ffi.dlopen(names[0])  # pragma: no cover
  File "/Users/andrestemmett/Desktop/MicrocareERP/env/lib/python3.9/site-packages/cffi/api.py", line 150, in dlopen
    lib, function_cache = _make_ffi_library(self, name, flags)
  File "/Users/andrestemmett/Desktop/MicrocareERP/env/lib/python3.9/site-packages/cffi/api.py", line 832, in _make_ffi_library
    backendlib = _load_backend_lib(backend, libname, flags)
  File "/Users/andrestemmett/Desktop/MicrocareERP/env/lib/python3.9/site-packages/cffi/api.py", line 827, in _load_backend_lib
    raise OSError(msg)
OSError: cannot load library 'gobject-2.0-0': dlopen(gobject-2.0-0, 2): image not found.  Additionally, ctypes.util.find_library() did not manage to locate a library called 'gobject-2.0-0'

Я пытался изменить свои симлинки, чтобы они ссылались на hombrew, потому что я читал, что weasy print полагается на зависимости pango libffi. Однако, когда я пробую это:

sudo ln -s /opt/homebrew/opt/glib/lib/libgobject-2.0.0.dylib /usr/local/lib/gobject-2.0
sudo ln -s /opt/homebrew/opt/pango/lib/libpango-1.0.dylib /usr/local/lib/pango-1.0
sudo ln -s /opt/homebrew/opt/harfbuzz/lib/libharfbuzz.dylib /usr/local/lib/harfbuzz
sudo ln -s /opt/homebrew/opt/fontconfig/lib/libfontconfig.1.dylib /usr/local/lib/fontconfig-1
sudo ln -s /opt/homebrew/opt/pango/lib/libpangoft2-1.0.dylib /usr/local/lib/pangoft2-1.0

Затем я получаю эту ошибку:

ln: /usr/local/lib/gobject-2.0: No such file or directory
ln: /usr/local/lib/pango-1.0: No such file or directory
ln: /usr/local/lib/harfbuzz: No such file or directory
ln: /usr/local/lib/fontconfig-1: No such file or directory
ln: /usr/local/lib/pangoft2-1.0: No such file or directory

что я не понимаю, потому что я читал, что это место, где моя система будет искать пакеты, но этого места не существует.

Пожалуйста, помогите!!! Я в отчаянии lol

В итоге я использовал xhtml2pdf, который очень легко и быстро реализовать.

pip install xhtml2pdf

from django.http import HttpResponse из django.template.loader import get_template из xhtml2pdf import pisa

def downloadPDF(request,pk):
        
        queryOrderPlan = OrderPlan.objects.get(id=pk)
        queryItems = queryOrderPlan.orderitem_set.all()

        template_path = 'orderApp/pdfs/itempdf.html'
        context = {"queryItems":queryItems,}

        response = HttpResponse(content_type='application/pdf')
        response['content-Disposition'] = 'attachment; filename="items.pdf"'
        
        template = get_template(template_path)
        html = template.render(context)

        pisa_status = pisa.CreatePDF(html, dest=response)

        if pisa_status.err:
            return HttpResponse("We had some error 
" + html + "
")
    return response
Вернуться на верх