INZA Python を使用した pip ユーティリティーのインストール

本書では、IBM Netezza Analytics パッケージの一部として提供される、INZA Python 2.7 64 ビット言語用の pip ユーティリティーをインストールするプロセスについて説明します。

始める前に

以下の製品がシステムにインストールされていることを確認する。

  • 11.0.x. の IBM Netezza Analytics パッケージ
  • OpenSSL バージョン 1.0.2x
注:

Python サード・パーティー・ライブラリーの問題には対応していません。

脆弱性はPythonのサードパーティによってのみ修正される。

この手順は、サードパーティライブラリをインストールする方法を提供するだけであり、IBMはサポートしていない。

手順

  1. pip のインストール:

    pip ユーティリティーは、Python 2.7 ではデフォルトで提供されません。 ホスト側とSPU側の両方にインストールする必要がある。 ホスト側とSPU側でそれぞれコマンドを使ってインストールを行う。

    • ホスト: /nz/export/ae/languages/python/2.7/host64/bin/python -m ensurepip --default-pip
    • SPU:「/nz/export/ae/languages/python/2.7/spu64/bin/python -m ensurepip --default-pip

    これにより、pipとpip2ユーティリティがそれぞれ「/nz/export/ae/languages/python/2.7/host64/bin/」と「/nz/export/ae/languages/python/2.7/spu64/bin/」にインストールされる。

    注:ユーティリティは、ホストとSPUのパイソン言語の両方にインストールする必要があります。 pipユーティリティを正しく機能させるにはSSLライブラリが必要ですが、これはPython 2.7の host64と spu64言語では提供されていません。
  2. SSL の回避策:

    pip でサード・パーティー・ライブラリーをインストールするには、SSL が必要です。 SSL ライブラリーは、現在、spu64 およびホストの Python 2.7 言語では提供されていません。 このステップでは、python実行ファイルからSSLライブラリにアクセスするための回避策を提供します。

    1. 添付のライブラリ_ssl.so_host64_ssl.soとして '/nz/export/ae/languages/python/2.7/host64/lib/python-link/lib-dynload/場所に、_ssl.so_spu64_ssl.soとして '/nz/export/ae/languages/python/2.7/spu64/lib/python-link/lib-dynload/場所にそれぞれコピーする。
      注:提供されたSSLライブラリは、システム'OpenSSL,に依存し、そのバージョンは最低'1.0.2でなければならない。 これより低いバージョンは、一切サポートされません。
    2. /nz/export/ae/languages/python/2.7/host64/bin/pythonと'/nz/export/ae/languages/python/2.7/spu64/bin/python実行ファイルから'import sslとしてSSLライブラリをインポートしてみて、SSLが互換性があるかどうかを確認してください。
    • /nz/export/ae/languages/python/2.7/host64/bin/python -c import ssl
    • /nz/export/ae/languages/python/2.7/spu64/bin/python -c import ssl

    バージョンの互換性に関するエラーが発生した場合は、OpenSSL パッケージをバージョン 1.0.2 に更新する必要があります。

  3. サード・パーティー・ライブラリーのインストール:

    ステップ2の回避策は、必要なSSLライブラリをpipに提供します。 次のコマンドで、pipを使ってサードパーティ・ライブラリをインストールする:

    • ホスト: /nz/export/ae/languages/python/2.7/host64/bin/pip install <library_name>
    • SPU:「/nz/export/ae/languages/python/2.7/spu64/bin/pip install <library_name>
      • すべてのライブラリは、ホスト側とSPU側の両方にインストールする必要があることに注意。 これらのライブラリはすべてダウンロードされ、それぞれホストとSPUの「/nz/export/ae/languages/python/2.7/host64/lib/python-link/site-packages」と「/nz/export/ae/languages/python/2.7/spu64/lib/python-link/site-packages」にインストールされる。 また、SSL ライブラリーを指定した場所にコピーした後、その名前が _ssl.so に変更されていることを確認します。

    Python 3.6 にはデフォルトの pip が付属しており、以下の場所にあります。

    • ホスト: /nz/export/ae/languages/python/3.6/host64/bin/pip3
    • SPU:「/nz/export/ae/languages/python/3.6/spu64/bin/pip3

次に、pip 実行の例を示します。


/nz/export/ae/languages/python/2.7/spu64/bin/pip install camelcase
Collecting camelcase
  Using cached https://files.pythonhosted.org/packages/24/54/6bc20bf371c1c78193e2e4179097a7b779e56f420d0da41222a3b7d87890/camelcase-0.2.tar.gz
Installing collected packages: camelcase
  Running setup.py install for camelcase ... done
Successfully installed camelcase-0.2
You are using pip version 9.0.1, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/nz/export/ae/languages/python/3.6/spu64/bin/pip3 install camelcase
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting camelcase
  Using cached https://files.pythonhosted.org/packages/24/54/6bc20bf371c1c78193e2e4179097a7b779e56f420d0da41222a3b7d87890/camelcase-0.2.tar.gz
Installing collected packages: camelcase
  Running setup.py install for camelcase ... done
Successfully installed camelcase-0.2
You are using pip version 9.0.1, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

次の作業

python2.7:用のSSLライブラリを以下に示します:

バージョン 3.x の場合、以下のファイルが次に示す場所にコピーされます。
  • ホスト: /nz/export/ae/languages/python/3.6/host64/lib/python3.6/lib-dynload/
  • SPU:「/nz/export/ae/languages/python/3.6/spu64/lib/python3.6/lib-dynload/
ファイル名はそのままにして、変更しないでください。 完了したら、以下のコマンドを実行する:
  • /nz/export/ae/languages/python/3.6/host64/bin/python3.6 -c'import ssl実行する。
  • /nz/export/ae/languages/python/3.6/spu64/bin/python3.6 -c'import ssl実行する。