4.2 オンプレミス・データベース用のPython for Linuxの構築およびインストール

オンプレミスOracleデータベース用にPython for Linuxをインストールする手順です。

23aiでは、Pythonのビルドはクライアントの場合のみ必要です。データベースでは、$ORACLE_HOME/pythonにPython 3.12.1があります。

ノート:

ONNX形式のモデルに変換することでHugging Faceからのテキスト・トランスフォーマをサポートする機能は、OML4Pyクライアントでのみ動作します。OML4Pyサーバーではサポートされていません。

OML4Pyをインストールし使用するには、Python 3.12.0またはPython 3.12.1が必要です。

次のステップでは、Python 3.12.0 for Linuxのビルドとインストールについて説明します。

  1. Python Webサイトにアクセスし、Gzipped source tarballをダウンロードします。ダウンロードされるファイル名はPython-3.12.0.tgzです
    wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
  2. ディレクトリ(/home/user/pythonなど)を作成し、このディレクトリに内容を展開します。
    mkdir -p /home/user/python
    tar -xvzf Python-3.12.0.tgz --strip-components=1 -C /home/user/python

    Gzipped source tarballの内容は、/home/user/pythonに直接コピーされます

  3. 新しいディレクトリに移動します。
    cd /home/user/python
  4. OML4Pyには、perl-Envlibffi-developensslopenssl-develtk-develxz-develzlib-develbzip2-develreadline-devellibuuid-develおよびncurses-develの各ライブラリが存在する必要があります。

    これらのパッケージをsudoまたはrootユーザーとしてインストールします:

    sudo yum install perl-Env libffi-devel openssl openssl-devel tk-devel xz-devel zlib-devel bzip2-devel readline-devel libuuid-devel ncurses-devel
  5. Python 3.12.0をビルドするには、次のコマンドを入力します(ここでの/home/user/pythonは、Python-3.12.0をインストールしたディレクトリです)。Oracle Machine Learning for Pythonサーバーでのコマンドは次のとおりです。
    cd /home/user/python
    ./configure --enable-shared --prefix=/home/user/python
    
    make clean; make
    make altinstall

    ノート:

    Embedded Python Executionを使用する場合は、必ず--enable-sharedフラグを使用してください。そうしないと、Embedded Python Execution関数を使用したときにextprocエラーが発生します。

    ノート:

    必ずmake installではなくmake altinstallを呼び出して、システムPythonの上書きを回避してください。

  6. 環境変数PYTHONHOMEを設定してPATHに追加し、環境変数LD_LIBRARY_PATHを設定します。
    export PYTHONHOME=/home/user/python
    export PATH=$PYTHONHOME/bin:$PATH
    export LD_LIBRARY_PATH=$PYTHONHOME/lib:$LD_LIBRARY_PATH

    ノート:

    OML4PyのためにPythonを使用するには、これらの変数を設定する必要があり、これらの変数はPATHおよびLD_LIBRARY_PATHでシステムPythonの前に指定する必要があります。
  7. /home/user/python/binディレクトリにシンボリック・リンクを作成してpython3.12実行可能ファイルにリンクします。これは、次のコマンドを使用して実行できます:
    cd /home/user/python/bin
    ln -s python3.12 python3

最新バージョンがインストールされていない場合は、パッケージのインストール中にpipから警告が返されます。pipのバージョンをアップグレードしてこのような警告を回避できます。

python3 -m pip install --upgrade pip

これで、コマンドpython3を実行してPythonを起動できます。Pythonがインストールされているディレクトリを確認するには、sysパッケージのsys.executableコマンドを使用します。次に例を示します。

python3
Python 3.12.0 (default, Feb 22 2022, 15:13:36)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44.0.3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.executable)
/home/user/python/bin/python3

この例では、Python実行可能バイナリの絶対パスを返します。

コマンドpython3を実行して、エラーcommand not foundが表示された場合は、python3という実行可能ファイルが$PYTHONHOME/binで見つからないことを意味します。OML4Pyサーバー・インストール・コンポーネントにはシンボリック・リンクが必要です。そのため、その場合はステップ6の説明に従って、/home/user/python/binディレクトリにシンボリック・リンクを作成してpython3.12実行可能ファイルにリンクする必要があります。