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
    

    解决

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

  • 相关阅读:
    JS字符串去重
    svn回退到某一版本
    WebStorm格式化代码4个空格设置
    DevExpress中 的DataGrid每一行根据其类型显示控件的种类
    各大系统刷新DNS缓存方法
    Kali Linux中前十名的Wifi攻击工具
    CentOS远程执行漏洞
    判断是否移动端的几种方法
    笔记
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/l-h-x/p/8932148.html
Copyright © 2011-2022 走看看