yum install -y build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
pip3 install install python3 cairo pango gdk-pixbuf libffi
yun install cairo -y
yum install cairo-devel -y
pip3 install weasyprint
yum install freetype-devel -y
pip3 install cairosvg
# 安裝 cairosvg 子產品後報錯的處理
[[email protected]:~]# python3
Python 3.6.8 (default, Apr 2 2020, 13:34:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cairosvg
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib64/python3.6/site-packages/cairosvg/__init__.py", line 26, in <module>
from . import surface # noqa isort:skip
File "/usr/local/lib64/python3.6/site-packages/cairosvg/surface.py", line 9, in <module>
import cairocffi as cairo
File "/usr/local/lib/python3.6/site-packages/cairocffi/__init__.py", line 50, in <module>
('libcairo.so.2', 'libcairo.2.dylib', 'libcairo-2.dll'))
File "/usr/local/lib/python3.6/site-packages/cairocffi/__init__.py", line 45, in dlopen
raise OSError(error_message) # pragma: no cover
OSError: no library called "libcairo-2" was found
cannot load library 'libcairo.so.2': libcairo.so.2: cannot open shared object file: No such file or directory
cannot load library 'libcairo.so.2': libcairo.so.2: cannot open shared object file: No such file or directory
cannot load library 'libcairo.2.dylib': libcairo.2.dylib: cannot open shared object file: No such file or directory
cannot load library 'libcairo-2.dll': libcairo-2.dll: cannot open shared object file: No such file or directory
>>> import cairosvg
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib64/python3.6/site-packages/cairosvg/__init__.py", line 26, in <module>
from . import surface # noqa isort:skip
File "/usr/local/lib64/python3.6/site-packages/cairosvg/surface.py", line 9, in <module>
import cairocffi as cairo
File "/usr/local/lib/python3.6/site-packages/cairocffi/__init__.py", line 50, in <module>
('libcairo.so.2', 'libcairo.2.dylib', 'libcairo-2.dll'))
File "/usr/local/lib/python3.6/site-packages/cairocffi/__init__.py", line 45, in dlopen
raise OSError(error_message) # pragma: no cover
OSError: no library called "libcairo-2" was found
cannot load library 'libcairo.so.2': /lib64/libcairo.so.2: undefined symbol: FT_Get_Var_Design_Coordinates
cannot load library 'libcairo.so.2': /lib64/libcairo.so.2: undefined symbol: FT_Get_Var_Design_Coordinates
cannot load library 'libcairo.2.dylib': libcairo.2.dylib: cannot open shared object file: No such file or directory
cannot load library 'libcairo-2.dll': libcairo-2.dll: cannot open shared object file: No such file or directory
>>> import cairosvg
>>>
參考:https://stackoverflow.com/questions/60309060/cannot-load-library-libcairo
找到如下:
[[email protected]:~]# find / -name libfreetype.so.6
/usr/lib64/libfreetype.so.6
/usr/local/lib/libfreetype.so.6
/usr/local/lab/freetype-2.5.2/objs/.libs/libfreetype.so.6
/usr/local/lab/freetype-2.5.4/lib/libfreetype.so.6
/usr/local/src/freetype-2.5.4/objs/.libs/libfreetype.so.6
find: ‘/proc/24662/task/17678’: No such file or directory
find: ‘/proc/24662/task/17679’: No such file or directory
# 解決辦法
[[email protected]:~]# mv /usr/local/lib/libfreetype.so.6 /usr/local/lib/libfreetype.so.6.bak