zoukankan      html  css  js  c++  java
  • captcha库报错"OSError: cannot open resource"

    问题描述

    在win平台上python虚拟环境下使用captcha库生成验证码报错OSError: cannot open resource

    代码

    from captcha.image import ImageCaptcha
    from PIL import Image, ImageFont
    text='1234'
    image=ImageCaptcha()
    captcha=image.generate_image(text)
    captcha_image=Image.open(captcha)
    captcha_image.show()
    

    报错

    E:Code计算机视觉大作业venvScriptspython.exe E:/Code/计算机视觉大作业/code/temp.py
    Traceback (most recent call last):
      File "E:/Code/计算机视觉大作业/code/temp.py", line 8, in <module>
        captcha=image.generate_image(text)
      File "E:Code计算机视觉大作业venvlibsite-packagescaptchaimage.py", line 226, in generate_image
        im = self.create_captcha_image(chars, color, background)
      File "E:Code计算机视觉大作业venvlibsite-packagescaptchaimage.py", line 197, in create_captcha_image
        images.append(_draw_character(c))
      File "E:Code计算机视觉大作业venvlibsite-packagescaptchaimage.py", line 164, in _draw_character
        font = random.choice(self.truefonts)
      File "E:Code计算机视觉大作业venvlibsite-packagescaptchaimage.py", line 122, in truefonts
        for n in self._fonts
      File "E:Code计算机视觉大作业venvlibsite-packagescaptchaimage.py", line 123, in <listcomp>
        for s in self._font_sizes
      File "E:Code计算机视觉大作业venvlibsite-packagesPILImageFont.py", line 261, in truetype
        return FreeTypeFont(font, size, index, encoding, layout_engine)
      File "E:Code计算机视觉大作业venvlibsite-packagesPILImageFont.py", line 144, in __init__
        self.font = core.getfont(font, size, index, encoding, layout_engine=layout_engine)
    OSError: cannot open resource
    
    Process finished with exit code 1
    

    解决

    在试过网上各种方案都不行后发现是因为虚拟环境的路径中包含了中文,换成不带中文的路径即可。

  • 相关阅读:
    《PS技巧精华全部在这里!》
    c#的dictionary为什么在扩容时会以素数扩容
    初识Lua
    常用的排序
    像gal一样讲故事~
    打枪的实现
    武器的方向,人物和武器的翻转
    虚拟摇杆的修改
    实现虚拟摇杆的移动
    itemPool和MessageCenter
  • 原文地址:https://www.cnblogs.com/l-h-x/p/8932148.html
Copyright © 2011-2022 走看看