Connecting to Oracle from Python on macOS Big Sur

After upgrading one of my machines to macOS Big Sur my Python scripts that were connected to an Oracle database broke. I was able to fix them as follows.

I use cx_Oracle to handle connections to the database. Within my oracle environment I installed cx_Oracle

python -m pip install cx_Oracle --upgrade

Previous versions of macOS worked with the Oracle Instant Client libraries 12.2. Newer versions are available. I was unable to connect using 12.2 or 18.1. I installed the 19.8 version from the Oracle Downloads Site. If you are only scripting from Python then the Basic Lite version is sufficient. I unzipped these files to ~/Oracle/

Previously I was able to use cx_oracle by exporting the LD_LIBRARY_PATH. Several online resources recommend this, e.g. at the command line run export LD_LIBRARY_PATH=”~/Oracle/instantclient_19_8/". Doing this on Big Sur led to a connection error DPI:1047.

Instead I was able to solve the connection error by starting each script with a call to cx_Oracle.init_oracle_client()


import cx_Oracle