[問題] 在 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