-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Description
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.