django OSError: no library called "cairo" was found on windows
Installing GTK+ didn't work for me.I solved this problem using UniConverter2.0.My environments is
- Python 3.7
- Windows 10 x64
- Install uniconvertor-2.0rc4-win64_headless.msi,
- Find the "dll" sub-directory under the UniConverter installation path.(In my case,
C:\Program Files\UniConvertor-2.0rc4\dlls
) - Add this "dll" path to the system path.
- Close VSCode and reopen the project.
- Try to run the server again.Enjoy!
Starting from Python 3.8, dll's need to be added separately.Added GTK+, MSYS2, Visual Studio C Compiler and Uniconverter. But, nothing seemed to work.Finally, got it working after putting the script for calling add_dll_directory.
import osdef set_dll_search_path(): # Python 3.8 no longer searches for DLLs in PATH, so we have to add # everything in PATH manually. Note that unlike PATH add_dll_directory # has no defined order, so if there are two cairo DLLs in PATH we # might get a random one. if os.name != "nt" or not hasattr(os, "add_dll_directory"): return for p in os.environ.get("PATH", "").split(os.pathsep): try: os.add_dll_directory(p) except OSError: passset_dll_search_path()