Skip to content

Fix the installation of or completely replace cairo #14

@XorUnison

Description

@XorUnison

As many, or rather probably most of us know personally, and have seen on the Discord channel too, the installation of cairo regularly causes problems (at least on windows.)

As of now the documentation refers to installing dependencies via the requirements.txt in the Directly section:

# Install python requirements
python3 -m pip install -r requirements.txt

Although there is a Directly(Windows) section, if the original Directly doesn't work on windows, then we'd want to write that properly as in Directly(Mac, Linux) or whatever, if we already can't streamline the process across platforms.

While this requirements.txt is in principle a great and convenient idea, pycairo (and to a lesser degree opencv-python) were often a source of issues. Recently the version numbers have been removed from the requirements.txt, which helps, but pycairo is still a unique case, as just trying to install it like this will always fail, and if that isn't bad enough, will actually ask for a Microsoft Visual C++ installation.
If you haven't tried it yet, that's a huge amount of overhead and also doesn't really make the pip pycairo install work reliably either. Highly frustrating to users.

The documentation goes on to mention downloading pycairo files (https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycairo), but For most users, pycairo‑1.18.0‑cp37‑cp37m‑win32.whl will do fine. and Make sure that pycairo==1.17.1 is changed to pycairo==1.18.0 in requirements.txt. are also deprecated comments. The manual file installs are tied to the python version, so someone with 3.8 will not be able to install pycairo cp37 if I remember correctly. All in all this installation is just unreasonably stacked with pitfalls and will throw off most casual users with ease. Talking of python 3.8, manim can be installed on it and we probably should roll on with that too.

So what we should do is, at least dramatically clean-up the documentation, or at best find a way to either streamline the windows pycairo installation or replace it altogether.
Though I'm raising the issue I don't have any great idea for how to implement one of the better solutions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAdditions and improvements in generalpr:bugfixBug fix for use in PRs solving a specific issue:bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions