Skip to content

Instantly share code, notes, and snippets.

@ogabrielluiz
Created July 6, 2023 20:17
Show Gist options
  • Save ogabrielluiz/909b40a9a26755a054074084054fb7ec to your computer and use it in GitHub Desktop.
Save ogabrielluiz/909b40a9a26755a054074084054fb7ec to your computer and use it in GitHub Desktop.
Set SSL certs (used to fix OpenAI API errors)
import os
import os.path
import ssl
import stat
import subprocess
import sys
STAT_0o775 = (
stat.S_IRUSR
| stat.S_IWUSR
| stat.S_IXUSR
| stat.S_IRGRP
| stat.S_IWGRP
| stat.S_IXGRP
| stat.S_IROTH
| stat.S_IXOTH
)
def main():
openssl_dir, openssl_cafile = os.path.split(
ssl.get_default_verify_paths().openssl_cafile
)
print(" -- pip install --upgrade certifi")
subprocess.check_call(
[sys.executable, "-E", "-s", "-m", "pip", "install", "--upgrade", "certifi"]
)
import certifi
# change working directory to the default SSL directory
os.chdir(openssl_dir)
relpath_to_certifi_cafile = os.path.relpath(certifi.where())
print(" -- removing any existing file or link")
try:
os.remove(openssl_cafile)
except FileNotFoundError:
pass
print(" -- creating symlink to certifi certificate bundle")
os.symlink(relpath_to_certifi_cafile, openssl_cafile)
print(" -- setting permissions")
os.chmod(openssl_cafile, STAT_0o775)
print(" -- update complete")
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment