Simplify Cairo installation process for Windows
It seems kind of obtuse to require a full separate dependency for this. Is there a way to install the Cairo files without WeasleyPrint?
Additionally, it looks like Cairo forces you to install the entire GTK suite for Windows if you want to use Cairo. This is again bad for application distribution, including a bunch of unused dependencies.
Due to the enormous third-party dependencies required, this project is unusable for windows python application distribution.
Hello!
Due to the enormous third-party dependencies required, this project is unusable for windows python application distribution.
According to PyPI stats, CairoSVG is downloaded more than 60,000 times per year on Windows. It’s far from the 4+ millions on Linux, but it’s not that bad. It’s for sure hard to install, but it’s not unusable.
We know that CairoSVG is currently hard to install on Windows, and we do our best to improve the situation. We’ve tirelessly improved the documentation, fixed a lot of related issues, and even set up CI on Windows for WeasyPrint (and thus CairoSVG) to be automatically installed and tested for each commit.
Cairo is not automatically built for Windows by the Cairo team, they ask Windows users to install GTK+. Unfortunately, there’s not much we can do about this.
If you want to distribute CairoSVG, you can use Conda where CairoSVG can be installed for Windows. That’s probably the easiest way.
Another solution is to use WSL.
We would be really happy to automatically build and provide Windows packaging, with an embedded version of Python and the needed libraries. If you have some Windows packaging skills, maybe you could help?
(PS: Telling developers that the software they develop is unusable is not the best way to get help :wink:.)
I apologize. And thank you for the very professional response. I may look into packaging Cairo in the future for Windows.
I found something useful which compiles binaries for Cairo in windows. See https://github.com/preshing/cairo-windows/releases I am going to create a script to install it ASAP and make a PR. :)