Pythonおよびpython-oracledbドライバのインストール

PythonアプリケーションからAutonomous Databaseに接続するには、Pythonおよびpython-oracledbドライバをインストールします。

  1. Python 3がまだ使用できない場合は、それをインストールします。

    使用するPythonのバージョンは、クライアント側のOSおよびハードウェアによって異なります。たとえば、Windows、Linux、macOSなどです。

    ノート

    Oracleでは、Pythonおよびpython-oracledbドライバ・リリースを最新に保つことをお薦めします。
  2. PyPIからpython-oracledbドライバをインストールします。

    python-oracledbドライバは、PythonプログラムでOracle Databaseに接続できるPythonプログラミング言語拡張モジュールです。python-oracledbドライバは、一般的なcx_Oracleドライバの名前が変更された新しいメジャー・リリースです。

    サポートされているpython-oracledbドライバのバージョン: python-oracledb 1.0 (またはそれ以降)

    次のコマンドを実行して、pythonをアップグレードします:

    python -m pip install oracledb --upgrade

    次のような出力が表示されます:

    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

    python-oracledbのインストールに関するノート:

    • プロキシを使用している場合、--proxyオプションを使用してコマンドに追加します。たとえば、次のとおりです。

      python -m pip install oracledb --upgrade --proxy=http://proxy.example.com:80
    • システム・ディレクトリへの書込み権限がない場合は、--userオプションを含めます。たとえば、次のとおりです。

      python -m pip install oracledb --upgrade --user
    • 使用しているプラットフォームでバイナリ・パッケージを使用できない場合、pipを実行すると、かわりにソース・パッケージがダウンロードされます。ソースがコンパイルされ、結果のバイナリがインストールされます。

    その他のオプションおよびヒントは、python-oracledbのインストールを参照してください。

  3. python-oracledbドライバをThickモードで使用する場合は、Oracle Clientソフトウェアをインストールします。

    デフォルトでは、python-oracledbはOracle Databaseに直接接続されるThinモードで実行されます。Thinモードでは、Oracle Clientライブラリは必要ありません。ただし、python-oracledbがThickモードで実行されている場合、いくつかの追加機能を使用できます。

    ノート

    python-oracledbのThinおよびThickモードでサポートされている機能の詳細は、python-oracledbでサポートされるOracle Databaseの機能を参照してください。このリンクに示されているすべての機能をAutonomous Databaseで使用できるわけではありません。

    Python-oracledbでは、Oracle Instantクライアント・ライブラリまたはOracle Database Clientライブラリのいずれかを使用し、Pythonコードでoracledb.init_oracle_client()を呼び出すと、Thickモードが使用されます。

    Oracle Clientソフトウェアをインストールする場合、mTLS接続とTLS接続に必要な最小バージョンは次のように異なります:

    • 相互TLS (mTLS)接続:

      • データベースがリモート・コンピュータ上にある場合は、使用しているオペレーティング・システム・アーキテクチャ用の無料のOracle Instant Client BasicパッケージまたはBasic Lightパッケージをダウンロードします。サポートされているバージョン(Oracle Instant Client: 18.19 (以上)、19.2 (以上)、または21 (ベース・リリース以上)を使用します。

      • または、システムで使用可能であれば、フルOracle Databaseクライアント・ライブラリを使用できます(フルOracle Database Clientを含む: Oracle Database Client: 18.19 (以上)、19.2 (以上)、または21 (ベース・リリース以上)。

    • TLS接続: Oracle Call Interface (OCI)クライアントでは、次のクライアント・バージョンを使用している場合、ウォレットなしのTLS認証がサポートされます:

      • Oracle Instant Client/Oracle Database Client 19.14 (以上)および21.5 (以上) - Linux x64およびWindows上でのみ
      • または、システムで使用可能であれば、フルOracle Databaseクライアント・ライブラリを使用できます。これには、フルOracle Database Client 14 (以上)および21.5 (以上)が含まれます。