问题
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 theInstall 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