Created
January 6, 2019 03:59
-
-
Save marschhuynh/31c9375fc34a3e20c2d3b9eb8131d8f3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# install_certifi.py | |
# | |
# sample script to install or update a set of default Root Certificates | |
# for the ssl module. Uses the certificates provided by the certifi package: | |
# https://pypi.python.org/pypi/certifi | |
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() |
Great, it solves the problem directly!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Still getting error, @arkahome , could you please help to fix the issue,
@marschhuynh
-- pip install --upgrade certifi9-5094-4f12-93b1-ace18c7ce134
Traceback (most recent call last):
File "", line 198, in run_module_as_main
File "", line 88, in run_code
File "c:\Python_FinV30\venv\Lib\site-packages\pip_main.py", line 24, in
sys.exit(main())
^^^^^^^
File "c:\Python_FinV30\venv\Lib\site-packages\pip_internal\cli\main.py", line 78, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Python_FinV30\venv\Lib\site-packages\pip_internal\commands_init.py", line 114, in create_command
module = importlib.import_module(module_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\importlib_init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "c:\Python_FinV30\venv\Lib\site-packages\pip_internal\commands\install.py", line 16, in
from pip._internal.cli.req_command import (
File "c:\Python_FinV30\venv\Lib\site-packages\pip_internal\cli\req_command.py", line 18, in
from pip._internal.index.collector import LinkCollector
File "c:\Python_FinV30\venv\Lib\site-packages\pip_internal\index\collector.py", line 31, in
from pip.vendor import requests
File "c:\Python_FinV30\venv\Lib\site-packages\pip_vendor\requests_init.py", line 146, in
from . import packages, utils
File "c:\Python_FinV30\venv\Lib\site-packages\pip_vendor\requests\utils.py", line 24, in
from . import certs
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "c:\Python_FinV30\venv\Lib\site-packages\wrapt\importer.py", line 185, in _self_exec_module
notify_module_loaded(module)
File "c:\Python_FinV30\venv\Lib\site-packages\wrapt\importer.py", line 118, in notify_module_loaded
hook(module)
File "c:\Python_FinV30\venv\Lib\site-packages\certifi_win32\wrapt_pip.py", line 35, in apply_patches
import certifi
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "c:\Python_FinV30\venv\Lib\site-packages\wrapt\importer.py", line 185, in _self_exec_module
notify_module_loaded(module)
File "c:\Python_FinV30\venv\Lib\site-packages\wrapt\importer.py", line 118, in notify_module_loaded
hook(module)
File "c:\Python_FinV30\venv\Lib\site-packages\certifi_win32\wrapt_certifi.py", line 26, in apply_patches
if not verify_combined_pem():
^^^^^^^^^^^^^^^^^^^^^
File "c:\Python_FinV30\venv\Lib\site-packages\certifi_win32\wincerts.py", line 65, in verify_combined_pem
with open(certifi_pem()) as certifi_pem_handle:
^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'c:\Python_FinV30\venv\Lib\site-packages\certifi\cacert.pem'Traceback (most recent call last):
File "c:\Python_FinV30\install_certifi.py", line 44, in
main()
File "c:\Python_FinV30\install_certifi.py", line 24, in main
subprocess.check_call([sys.executable,
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['c:\Python_FinV30\venv\Scripts\python.exe', '-E', '-s', '-m', 'pip', 'install', '--upgrade', 'certifi']' returned non-zero exit status 1.