連載目次
はじめに
本記事ではpython-oracledbのインストール方法を解説します。なお、本記事執筆時点でのpython-oracledbの最新バージョンは1.2.1です。また、python:3.10のdocker imageを使用して動作確認しています。
インストール要件
バージョン1.2.1時点でのインストール要件は以下です。最新の情報をお知りになりたい場合は本家の「Dependencies」をご確認ください。
- Pythonのバージョン
- Linux : 3.6~3.11
- Windows, Mac : 3.7~3.11
- Oracle Clientのバージョン(Thick Modeのみ)
- 11.2以上
- 接続可能なOracle Databaseのバージョン
- Thin Mode : 12c以上
- Thick Mode : 利用しているOracle Clientが接続可能なOracle Databaseバージョン
利用しているOracle Clientが接続可能なOracle Databaseバージョンは、基本的にはご利用のバージョン・プラットフォーム向けのOracle Clientのインストールのマニュアルの「Oracle Database Clientのソフトウェア要件」をご確認ください。より正確なOracle Server/Client間の接続要件に関しては、My Oracle Supportにアクセス可能な方はClient / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)をご確認ください。My Oracle Supportにアクセスできない方はpython-oracldbのマニュアルをご確認ください。ただ、このリンク先にも記載がありますが、この情報は要約されていて、実際にはもっと細かいです。
基本的なインストール
以下のコマンドを実行してください。
pip install oracledb
依存モジュールとして、cffi, cryptography, pycparserもインストールされます1。インポート後の動作確認は、今後の本連載や既存のサイトに存在するサンプルコードを実行することでご確認ください。python-oracledbの導入自体の確認であれば、
python -c 'import oracledb'
の実行が成功することでも確認が可能です。Pythonの対話型シェルやJupyter Notebookなどで「import oracledb」の実行の成功を確認する方法でも構いません。
バージョン指定のインストール
開発要件次第ではインストールするpython-oracledbのバージョンを指定したい場合があると思います。先の方法だと常に最新バージョンがインストールされます。指定バージョンをインストールしたい場合は以下のように
pip install oracledb==1.2.0
という形でバージョンを指定したインストールが可能です。
インストール可能なバージョンを調べる方法としては、PyPIのリリース履歴もしくはpython-oracldbのリリースノートを確認するか、
# pip install oracledb==
ERROR: Could not find a version that satisfies the requirement oracledb== (from versions: 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.1.0, 1.1.1, 1.2.0, 1.2.1)
ERROR: No matching distribution found for oracledb==
と、バージョン番号を無指定でバージョン指定インストールを行い、表示されるエラーメッセージに出てくる指定可能バージョン一覧を確認してください。
既存バージョンのアップグレードとダウングレード
アップグレードであれダウングレードであれ、バージョン指定インストールを行うと、現在インストールされているバージョンが削除され、指定バージョンのものがインストールされます。
単純に最新バージョンにアップグレードする場合は、「-U」もしくは「--upgrade」オプションを指定してください。
pip install -U oracledb
プロキシ経由のインストール
プロキシを通さないとインストールできない場合は、以下のように「--proxy」オプションを指定してください。プロキシサーバーのURLやポート番号はご利用の環境に合わせて変更してください。
pip install oracledb --proxy=http://proxy.example.com:80
「--proxy」オプション以外には、HTTP_PROXY/HTTPS_PROXY環境変数を設定する方法、pip.conf(Windowsだとpip.ini)にプロキシを設定する方法もあります。
アンインストール
python-oracledbをアンインストールしたい場合は、
pip uninstall oracledb
と実行してください。なお、依存モジュール(cffi, cryptography, pycparser)はアンインストールされません。
参考リンク
指定可能なバージョンの調べ方の参照元:pip installのバージョン指定方法
-
より正確には、python-oracledbの依存モジュールはcryptographyのみで、cffi, pycparserはcryptographyの依存モジュールです。 ↩