Search code examples
pythonfilepathos.path

python not able to find the certificate file path


My program structure is of the form:

    -worker
         -worker
              --lib
                  ----file.py
                  ----cert.pem
         -app.py

Inside file.py I have following code:

import os

BASE_DIR = os.path.dirname(__file__)
filepath = os.path.join(BASE_DIR, 'cert.pem')

When I run the service which is through app.py, it fails at file.py line L2 stating:

OSError: Could not find a suitable TLS CA certificate bundle, invalid path: /usr/local/lib/python3.7/dist-packages/worker/lib/../lib/cert.pem

Could someone have any idea why python is taking "lib" directory twice and putting ".." in between?


Solution

  • AS posted by @Selcuk: This worked for me.:

         BASE_DIR = os.path.realpath(os.path.dirname(__file__)) – Selcuk