使用 INZAPython安装 pip 工具

本文档介绍为 INZAPython 2.764 位语言安装 pip 实用程序的过程,该程序作为IBM Netezza Analytics软件包的一部分提供。

准备工作

确保系统安装了以下产品。

  • IBM Netezza Analytics软件包11.0.x。
  • OpenSSL 1.0.2x版本
注:

不涉及任何Python第三方库的缺陷。

漏洞只能由Python第三方修复。

此程序仅提供一种安装第三方库的方法,不受IBM 支持。

程序

  1. Pip 安装:

    Python 2.7 默认不提供 pip 工具。 它必须安装在主机和 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

    这将分别在 "/nz/export/ae/languages/python/2.7/host64/bin/和 "/nz/export/ae/languages/python/2.7/spu64/bin/中安装 pip 和pip2实用程序。

    注意:主机和 SPU 的 python 语言都需要安装该实用程序。 pip 工具需要 SSL 库才能正常运行,而Python 2.7 host64和spu64语言不提供 SSL 库。
  2. SSL 解决方案:

    pip 需要使用 SSL 来安装第三方库。 目前spu64和Python 2.7主机语言不提供 SSL 库。 此步骤提供了从 python 可执行文件访问 SSL 库的变通方法。

    1. Copy the attached library _ssl.so_host64 as _ssl.so at /nz/export/ae/languages/python/2.7/host64/lib/python-link/lib-dynload/ location and _ssl.so_spu64 as _ssl.so at /nz/export/ae/languages/python/2.7/spu64/lib/python-link/lib-dynload/ location, respectively.
      注意:所提供的 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 中的变通方法为 pip 提供了必要的 SSL 库。 现在使用以下命令,用 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