Discord.py bot dont have certificate

落花浮王杯 提交于 2021-02-05 07:56:09

问题


Yesterday I made a bot and everything was working, today when I try to run my code I have this error:

ClientConnectorCertificateError(aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discordapp.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1108)')]

I am using win10, python 3.8, and pycharm. I saw a similar problem on StackOverflow but the solution Is not working for me.


回答1:


Create a virtual environment in Anaconda and adding it as an interpreter in Pycharm.

Creation of the environment

conda create -n test_env python=3.8 anaconda

Documentation of conda:

-n test_env sets the name of the environment to test_env

python=3.8 anaconda says that you want to use in this environment python in version 3.8. You can put there all the things you need, separated with spaces, e.g. sqlite matplotlib requests and specify their versions the same way as for python.

Activation

conda activate test_env

Deactivation

conda deactivate

Getting rid of it

conda remove -n test_env --all

Add env to pycharm

1.In the Settings/Preferences dialog Ctrl+Alt+S, select Project | Project Interpreter. Click the The Configure project interpreter icon and select Add.

In the left-hand pane of the Add Python Interpreter dialog, select Virtualenv Environment. The following actions depend on whether the virtual environment existed before.

here Please check this github issue here.

Basically navigate to your Applications/Python 3.8/ folder and double click the Install Certificates.command.

Try running this same program on 3.8 and run the install certificates command.

You can directly run below instruction in conda prompt or terminal:

pip install certifi

Or download this script and run it.




回答2:


I also encountered the same problem and found a solution that worked for me from a youtube comment, basically you can solve this problem by adding a certificate manually.

Sectigo (cert vendor) provides a download link of cert manually: https://crt.sh/?id=2835394 <- gotten from the link below You should find at the bottom left corner, where its saying Download Certificate: PEM

(If you can't find it: https://beans-took-my-kids.reeee.ee/38qB2n.png )

You have to setup certificate yourself



来源:https://stackoverflow.com/questions/62108183/discord-py-bot-dont-have-certificate

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!