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 (以上)または23.1 (以上)
      • または、システムで使用可能であれば、Oracle Databaseの完全なクライアント・ライブラリを使用できます。これには、完全なOracle Database Client 19.14 (以上)および21.5 (以上)が含まれます。