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

Python开发Discord Bot遇模块导入错误、SSL证书验证失败求助

问题1:执行import discord提示模块不存在
  • 触发原因分两种:
    • 解释器环境不匹配:执行pip install的Python环境和运行脚本的环境不是同一个,你使用了PyCharm虚拟环境,大概率是把包装到了全局Python中,虚拟环境内没有对应依赖
    • 装错包:PyPI上名为discord的包是废弃的过时镜像,正确的Discord Bot SDK包名是discord.py
  • 解决步骤:
    1. 确认运行脚本的解释器路径,从你贴的日志看当前用的是虚拟环境解释器:/Users/psudo/PycharmProjects/pythonProject/new/bin/python
    2. 激活对应虚拟环境后安装正确的包:
      source /Users/psudo/PycharmProjects/pythonProject/new/bin/activate
      pip uninstall -y discord
      pip install discord.py
      
    3. 如果用PyCharm可视化操作,可以直接进入Settings > Project > Python Interpreter,选中当前虚拟环境的解释器,点击+号搜索discord.py安装,避免环境不匹配问题。
问题2:运行时抛出SSL证书验证失败错误
  • 触发原因:macOS系统下手动安装的Python默认没有内置根证书链,发起HTTPS请求时无法校验discord.com的证书合法性,和你的Token、代码逻辑无关。
  • 解决方法按优先级选择:
    1. 运行官方证书修复脚本
      打开Finder进入路径/Library/Frameworks/Python.framework/Versions/3.10/,找到Install Certificates.command文件双击执行,脚本会自动下载安装最新的根证书包,执行完成后重启终端再运行Bot即可。
    2. 通过certifi包补全证书
      激活虚拟环境后执行命令安装证书依赖:
      pip install certifi
      
      在你的Bot代码最顶部添加以下配置,指定证书路径:
      import ssl
      import certifi
      ssl._create_default_https_context = lambda: ssl.create_default_context(cafile=certifi.where())
      
    3. 临时测试方案(仅本地调试用,不建议长期使用,存在安全风险)
      如果只是本地快速验证功能,可以临时关闭SSL校验,初始化Client时添加对应配置:
      import aiohttp
      import discord
      
      client = discord.Client(intents=discord.Intents.default())
      client.http.connector = aiohttp.TCPConnector(ssl=False)
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 00:54:31