[问题] 在 colab 安装 libraqm 后无法正常使用

楼主: art1 (人,原来不是人)   2021-01-31 11:05:42
照着 https://pillow.readthedocs.io/en/latest/installation.html 的说明安装
!sudo apt-get install libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev \
libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python3-tk \
libharfbuzz-dev libfribidi-dev libxcb1-dev
!git clone https://github.com/python-pillow/Pillow.git
%cd /content/Pillow/depends
!/content/Pillow/depends/install_raqm.sh
这样子虽然可以安装成功,但只要执行 draw.text 就会导致 colab 虚拟机重启
from PIL import Image, ImageFont, ImageDraw
img = Image.new('RGB', (450, 300), (255,255,255))
fontPath = '/content/drive/MyDrive/fonts/TW-Kai-98_1.ttf'
fontSize = 16
font = ImageFont.truetype(fontPath,
fontSize, encoding='unic')
draw = ImageDraw.Draw(img)
#上面都没问题,但只要执行下面这一行就会导致系统重启
draw.text((0, 0), 'abc', 'red', font)
也试过照着 https://github.com/HOST-Oman/libraqm 的说明来安装
!git clone https://github.com/HOST-Oman/libraqm.git
!apt-get install libfreetype6-dev libharfbuzz-dev libfribidi-dev \
gtk-doc-tools autoconf libtool
%cd /content/libraqm/
!/content/libraqm/autogen.sh
!./configure
!make
!make install
虽然可以安装成功,但使用下面的程式码来验证却传回失败
from PIL import Image, features
print(features.check('raqm')) # False
print(Image.__version__) # 7.0.0
试着往 sys 跟 os 增加路径,也都不能让上面的验证程式码回传 True,但上面提到的
安装方法会导致重启却能让验证程式码回传 True,不知道到底是哪边不一样才导致两种
不同的结果
第三种尝试则是使用 vcpkg 来安装 libraqm,先安装 vcpkg 再安装 libraqm
https://github.com/Microsoft/vcpkg
但一样不知道怎么做才能让上面的验证程式码回传 True,试过往 sys.path 跟
os.environ['PATH'] 增加路径都没成功过
想请教有人成功在 colab 安装 libraqm 并能正常使用的经验吗?
或是有人知道第二跟第三种方法安装的 libraqm 有什么方法可以让上面的验证程式码
回传 True 吗?
作者: lycantrope (阿宽)   2021-02-01 16:08:00
不用font就没事,感觉是ImageFont.truetype出问题ImageFont.truetype设定layout_engine 就不会error了
楼主: art1 (人,原来不是人)   2021-02-01 18:05:00
参数新增 layout_engine = ImageFont.LAYOUT_RAQM 依旧重启
作者: lycantrope (阿宽)   2021-02-02 09:49:00
PIL本身也有成功抓到raqm,但不知道为何会crashdependes/install_raqm.sh后 从资料夹pip install .%cd /content/Pillow !pip install .

Links booklink

Contact Us: admin [ a t ] ucptt.com