看板 Python 關於我們 聯絡資訊
照著 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 嗎? -- 「看在上帝的份上,我們不能當著孩子的面槍殺他的父親!」 「那我們就連孩子一起幹掉!」 「第一槍打中的是那個天真的孩子,第二槍是抱著孩子的母親。第三槍 停頓了三秒,當難以致信的父親擦拭著臉上愛子的腦漿從震驚中醒轉 過來,慢慢的轉頭看向停車的地方,分辨出是誰在攻擊他後,第三顆 子彈才將他的腦殼打飛。」 ─摘自〈狼群〉 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.173.38.250 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1612062348.A.D7E.html
lycantrope: 不用font就沒事,感覺是ImageFont.truetype出問題 02/01 16:08
lycantrope: ImageFont.truetype設定layout_engine 就不會error了 02/01 16:29
art1: 參數新增 layout_engine = ImageFont.LAYOUT_RAQM 依舊重啟 02/01 18:05
art1: 我看 colab 的回報區也有人提到類似的情況,2019 五月就有了 02/01 18:46
lycantrope: PIL本身也有成功抓到raqm,但不知道為何會crash 02/02 09:49
lycantrope: dependes/install_raqm.sh後 從資料夾pip install . 02/02 12:11
lycantrope: %cd /content/Pillow !pip install . 02/02 12:12