【问题标题】:Discord.py bot dont have certificateDiscord.py 机器人没有证书
【发布时间】:2020-09-18 08:02:21
【问题描述】:

昨天我做了一个机器人,一切正常,今天当我尝试运行我的代码时,我遇到了这个错误:

ClientConnectorCertificateError(aiohttp.client_exceptions.ClientConnectorCertificateError: 无法连接到主机 discordapp.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书已过期 (_ssl.c:1108)')]

我正在使用 win10、python 3.8 和 pycharm。 我在 StackOverflow 上看到了类似的问题,但解决方案对我不起作用。

【问题讨论】:

  • 在你的python安装中你应该有一个名为“Install Certificates.command”的文件,运行它

标签: python bots discord.py


【解决方案1】:

在 Anaconda 中创建一个虚拟环境并将其添加为 Pycharm 中的解释器。

环境的创造

conda create -n test_env python=3.8 anaconda

Documentation of conda:

-n test_env 设置环境名称为 test_env

python=3.8 anaconda 表示要在这个环境中使用python 3.8 版本。你可以把所有你需要的东西放在那里,用空格分隔,例如sqlite matplotlib requests 并以与 python 相同的方式指定它们的版本。

激活

conda activate test_env

停用

conda deactivate

摆脱它

conda remove -n test_env --all

将环境添加到 pycharm

1.在设置/首选项对话框中Ctrl+Alt+S,选择项目|项目口译员。单击“配置项目解释器”图标并选择“添加”。

在“添加 Python 解释器”对话框的左侧窗格中,选择 Virtualenv 环境。以下操作取决于虚拟环境之前是否存在。

here 请检查这个 github 问题here

基本上导航到您的Applications/Python 3.8/ 文件夹并加倍 点击Install Certificates.command

尝试在 3.8 上运行相同的程序并运行安装证书命令。

您可以在 conda 提示符或终端中直接运行以下指令:

pip install certifi

或者下载this脚本并运行。

【讨论】:

  • Applications/Python 3.8/ 文件夹是什么?我找不到它,我到处寻找这个安装证书,但我找不到它。帮助
  • 你可以在终端或者cmd提示符下运行pip install certifi,或者运行这个代码:gist.github.com/marschhuynh/31c9375fc34a3e20c2d3b9eb8131d8f3
  • 当我运行此代码时,我收到消息:-- pip install --upgrade certifi Requirement already up-to-date: certifi in f:\_pythonprojekty_\discordbot\venv\lib\site-packages (2020.4.5.1) Traceback (most recent call last): File "F:/_PythonProjekty_/untitled/test.py", line 38, in <module> main() File "F:/_PythonProjekty_/untitled/test.py", line 24, in main os.chdir(openssl_dir) FileNotFoundError: [WinError 2] Cant find this file: 'C:\\Program Files (x86)\\Common Files\\SSL' 在 cmd 中运行时我收到消息:要求已经满足。
  • 您似乎正在使用 Windows:C:\Documents and Settings\All Users\Application 或 C:\Users\\AppData\application 关于您的异常,请将您的下载文件和代码放入同一个目录
  • 我已经安装并一致,但证书问题仍然存在。现在我将放弃并结束我的项目,我会尝试做一些比不和谐机器人更简单的事情
【解决方案2】:

我也遇到了同样的问题,从 youtube 评论中找到了适合我的解决方案,基本上你可以通过手动添加证书来解决这个问题。

Sectigo(cert vendor)手动提供了cert的下载链接: https://crt.sh/?id=2835394

(如果找不到:https://beans-took-my-kids.reeee.ee/38qB2n.png )

You have to setup certificate yourself

【讨论】:

  • 非常感谢,唯一对我有用的解决方案
猜你喜欢
  • 2021-08-18
  • 2021-11-03
  • 1970-01-01
  • 2021-04-28
  • 2021-05-03
  • 2023-02-06
  • 1970-01-01
  • 2020-06-26
  • 2021-10-07
相关资源
最近更新 更多