You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决captcha.image与Pillow的依赖错误:'ImageDraw'无'textsize'属性

问题

在使用captcha.image.ImageCaptcha与Pillow时遇到依赖报错,错误信息如下:

in exection:  'ImageDraw' object has no attribute 'textsize'
    exc<0> File "C:\Users\farn\anaconda3\envs\TestDragonCondaEnv311_Windows\Lib\site-packages\captcha\image.py", type <class 'AttributeError'>, line 165, in _draw_character: [AttributeError] 'ImageDraw' object has no attribute 'textsize'
    0 :  <FrameSummary file C:\Users\farn\Documents\prgm\TestDragon\Server\TestDragonPlaygroundServer\src\SvUtil.py, line 6106 in getSvCaptchaImage>
    1 :  <FrameSummary file C:\Users\farn\anaconda3\envs\TestDragonCondaEnv311_Windows\Lib\site-packages\captcha\image.py, line 45 in generate>
    2 :  <FrameSummary file C:\Users\farn\anaconda3\envs\TestDragonCondaEnv311_Windows\Lib\site-packages\captcha\image.py, line 228 
    in generate_image>
    3 :  <FrameSummary file C:\Users\farn\anaconda3\envs\TestDragonCondaEnv311_Windows\Lib\site-packages\captcha\image.py, line 199 
    in create_captcha_image>
    4 :  <FrameSummary file C:\Users\farn\anaconda3\envs\TestDragonCondaEnv311_Windows\Lib\site-packages\captcha\image.py, line 165 
    in _draw_character>
    ---<0>-------------
    somehow!
    'ImageDraw' object has no attribute 'textsize'
    [Thread-7 (process_request_thread)][INFO] 192.168.50.82 - - [07/Nov/2024 00:38:15] "GET /500.html HTTP/1.0" 4

已知Pillow在10.0.0版本中将textsize方法替换为textlength,但报错来自captcha库内部代码,不便修改该库源码,此前环境运行正常,需了解两者兼容的版本组合。

兼容版本组合

  • captcha库版本 ≤ 0.4:需搭配 Pillow版本 < 10.0.0(如9.5.0及以下版本),旧版captcha依赖Pillow的textsize方法,而Pillow 10.0.0移除了该方法。
  • 若要使用Pillow 10.0.0及以上版本,需升级captcha到0.5及以上版本,官方已在后续版本中修复了该兼容性问题。

内容的提问来源于stack exchange,提问作者Farn Wang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:43:20