Install Python and the python-oracledb Driver
To connect to Autonomous Database from your Python application, install Python and the python-oracledb driver.
- Install Python 3, if it is not already
available.
The version of Python you use depends on your client-side OS and hardware. For example Windows, Linux, macOS, and others.
Note
Oracle recommends you keep up to date with Python and python-oracledb driver releases. - Install the python-oracledb driver from PyPI.
The python-oracledb driver is a Python programming language extension module allowing Python programs to connect to Oracle Database. The python-oracledb driver is the renamed, new major release of the popular cx_Oracle driver.
Supported python-oracledb driver versions: python-oracledb 1.0 (or later)
Run the following command to upgrade python:
python -m pip install oracledb --upgrade
You should see output similar to the following:
Collecting oracledb Downloading oracledb-1.0.3-cp310-cp310-win_amd64.whl (1.0 MB) ---------------------------------------- 1.0/1.0 MB 1.8 MB/s eta 0:00:00 Collecting cryptography>=3.4 Downloading cryptography-37.0.4-cp36-abi3-win_amd64.whl (2.4 MB) ---------------------------------------- 2.4/2.4 MB 3.5 MB/s eta 0:00:00 Collecting cffi>=1.12 Downloading cffi-1.15.1-cp310-cp310-win_amd64.whl (179 kB) ---------------------------------------- 179.1/179.1 kB 5.4 MB/s eta 0:00:00 Collecting pycparser Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB) ---------------------------------------- 118.7/118.7 kB 7.2 MB/s eta 0:00:00 Installing collected packages: pycparser, cffi, cryptography, oracledb Successfully installed cffi-1.15.1 cryptography-37.0.4 oracledb-1.0.3 pycparser-2.21
Notes for installing python-oracledb:
-
If you are behind a proxy, use the
--proxy
option to add a proxy server to the command. For example:python -m pip install oracledb --upgrade --proxy=http://proxy.example.com:80
-
In the case where you do not have permission to write to system directories, include the
--user
option. For example:python -m pip install oracledb --upgrade --user
-
If a binary package is not available for your platform, running
pip
will download the source package instead. The source is compiled and the resulting binary is installed.
See Installing python-oracledb for additional options and tips.
-
- If you want to use the python-oracledb driver in Thick mode, install Oracle
Client software.
By default, python-oracledb runs in Thin mode which connects directly to Oracle Database. Thin mode does not require Oracle Client libraries. However, some additional functionality is available when python-oracledb runs in Thick mode.
Note
See Oracle Database Features Supported by python-oracledb for information on supported features in python-oracledb Thin and Thick modes. Not all of the features shown in this link are available with Autonomous Database.Python-oracledb uses Thick mode when you use either the Oracle Instant client libraries or the Oracle Database Client libraries and you call
oracledb.init_oracle_client()
in your Python code.When you install Oracle Client Software, there are differences in required minimum versions for mTLS and TLS connections, as follows:
-
Mutual TLS (mTLS) Connections:
-
If your database is on a remote computer, then download the free Oracle Instant Client “Basic” or “Basic Light” package for your operating system architecture. Use a supported version: Oracle Instant Client: 18.19 (or later), 19.2 (or later), or 21 (base release or later).
-
Alternatively, you can use the Full Oracle Database client libraries when they are available on your system (including Full Oracle Database Client: Oracle Database Client: 18.19 (or later), 19.2 (or later), or 21 (base release or later).
-
-
TLS Connections: Oracle Call Interface (OCI) clients support TLS authentication without a wallet if you are using the following client versions:
- Oracle Instant Client/Oracle Database Client 19.14 (or later) and 21.5 (or later) - only on Linux x64 and Windows
-
Alternatively, you can use the Full Oracle Database client libraries when they are available on your system, including Full Oracle Database Client 19.14 (or later) and 21.5 (or later).
-
Parent topic: Connect Python Applications to Autonomous Database