[Python] Converting SVG to PDF using CairoSVG fails: ModuleNotFoundError: No module named...

Discussão em 'Python' iniciado por Stack, Março 25, 2025.

  1. Stack

    Stack Membro Participativo

    I need to convert some SVG files to PDF files using Python on Windows 10.

    For this purpose I have installed the CairoSVG package using the pip command:


    pip install cairosvg
    ​

    It is the latest version (2.7.1) of CairoSVG.

    Everything seems to be installed and configured correctly.

    A few key details:

    • After downloading the latest version of Python (3.12) for my Windows 10 machine (64-bit) I have installed it into the following directory: D:\Program Files\Python312.
    • The system environment variable PATH has been configured and set to D:\Program Files\Python312 and D:\Program Files\Python312\Scripts.
    • I use the latest version of Visual Studio Code for developing Python applications.
    • The latest version of the Python extension from the marketplace in Visual Studio Code has been installed.

    I tried to run following code from here:

    import cairosvg

    def export_svg(request):
    # Get data from POST
    svg = request.POST.get("svg")
    pdf = cairosvg.svg2pdf(bytestring=svg.encode("utf-8"))

    # The pdf is now a bytestring that can be returned instead of saving to disk.
    response = HttpResponse(mimetype='application/pdf')
    response.write(pdf)


    Running this code will result into following error:

    PS D:\Project WebAuthn> & "D:/Program Files/Inkscape/bin/python.exe" c:/Users/USER/Desktop/Python-Projekte/gtk.py
    Traceback (most recent call last):
    File "c:\Users\USER\Desktop\Python-Projekte\gtk.py", line 1, in <module>
    import cairosvg
    ModuleNotFoundError: No module named 'cairosvg'


    After trying to reinstall CairoSVG using pip command twice, I got following output in the console:

    Defaulting to user installation because normal site-packages is not writeable
    Requirement already satisfied: cairosvg in c:\users\USER\appdata\roaming\python\python312\site-packages (2.7.1)
    Requirement already satisfied: cairocffi in c:\users\USER\appdata\roaming\python\python312\site-packages (from cairosvg) (1.6.1)
    Requirement already satisfied: cssselect2 in c:\users\USER\appdata\roaming\python\python312\site-packages (from cairosvg) (0.7.0)
    Requirement already satisfied: defusedxml in c:\users\USER\appdata\roaming\python\python312\site-packages (from cairosvg) (0.7.1)
    Requirement already satisfied: pillow in c:\users\USER\appdata\roaming\python\python312\site-packages (from cairosvg) (10.1.0)
    Requirement already satisfied: tinycss2 in c:\users\USER\appdata\roaming\python\python312\site-packages (from cairosvg) (1.2.1)
    Requirement already satisfied: cffi>=1.1.0 in c:\users\USER\appdata\roaming\python\python312\site-packages (from cairocffi->cairosvg) (1.16.0)
    Requirement already satisfied: webencodings in c:\users\USER\appdata\roaming\python\python312\site-packages (from cssselect2->cairosvg) (0.5.1)
    Requirement already satisfied: pycparser in c:\users\USER\appdata\roaming\python\python312\site-packages (from cffi>=1.1.0->cairocffi->cairosvg) (2.21)


    I am confused. What's wrong? Why can the installed module CairoSVG not be found?

    Believe me, I have tried pretty much everything but my problem couldn't be solved.

    Help me!

    Continue reading...

Compartilhe esta Página