Instalación del programa de utilidad pip con INZA Python

Este documento describe el proceso de instalación del programa de utilidad pip para el lenguaje INZA Python 2.7 de 64 bits, proporcionado como parte del paquete IBM Netezza Analytics.

Antes de empezar

Asegúrese de que los siguientes productos están instalados en el sistema.

  • Paquete IBM Netezza Analytics de 11.0.x.
  • OpenSSL versión 1.0.2x
Nota:

Los defectos de cualquier biblioteca de terceros de Python no se tratan.

Las vulnerabilidades sólo pueden ser corregidas por el tercero Python.

Este procedimiento sólo proporciona una forma de instalar bibliotecas de terceros y no está soportado por IBM.

Procedimiento

  1. Instalación de pip:

    El programa de utilidad pip no se proporciona de forma predeterminada con Python 2.7. Debe instalarse tanto en el host como en la SPU. Utilice los comandos para realizar la instalación en el host y en la SPU, respectivamente.

    • Host: /nz/export/ae/languages/python/2.7/host64/bin/python -m ensurepip --default-pip
    • EPD: " /nz/export/ae/languages/python/2.7/spu64/bin/python -m ensurepip --default-pip

    Esto instala pip y la utilidad ' pip2 ' en ' /nz/export/ae/languages/python/2.7/host64/bin/ y ' /nz/export/ae/languages/python/2.7/spu64/bin/, respectivamente.

    Nota: La utilidad debe instalarse tanto para el lenguaje python del host como para el de la EPD. La utilidad pip requiere una biblioteca SSL para su correcto funcionamiento, que no se proporciona con el lenguaje Python 2.7 host64 y spu64.
  2. Método alternativo de Ssl:

    El pip precisa ssl para instalar bibliotecas de terceros. La biblioteca ssl no se proporciona actualmente con spu64 y el lenguaje Python 2.7 de host. Este paso proporciona una solución para acceder a la biblioteca SSL desde ejecutables python.

    1. Copie la biblioteca adjunta _ssl.so_host64 como _ssl.so en la ubicación ' /nz/export/ae/languages/python/2.7/host64/lib/python-link/lib-dynload/ ' y _ssl.so_spu64 como _ssl.so en la ubicación ' /nz/export/ae/languages/python/2.7/spu64/lib/python-link/lib-dynload/ ', respectivamente.
      Nota: Las librerías SSL proporcionadas dependen del sistema OpenSSL, cuya versión debe ser como mínimo 1.0.2. No se admite ninguna versión inferior a ésta.
    2. Confirma si el SSL es compatible intentando importar la librería SSL como ' import ssl ' desde los ejecutables ' /nz/export/ae/languages/python/2.7/host64/bin/python y ' /nz/export/ae/languages/python/2.7/spu64/bin/python '.
    • /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

    Si se produce un error con respecto a la compatibilidad de versiones, debe actualizar los paquetes de OpenSSL a la versión 1.0.2.

  3. Instalar bibliotecas de terceros:

    La solución del paso 2 proporciona la biblioteca SSL necesaria a pip. Ahora use el siguiente comando para instalar cualquier librería de terceros usando pip:

    • Host: /nz/export/ae/languages/python/2.7/host64/bin/pip install <library_name>
    • EPD: " /nz/export/ae/languages/python/2.7/spu64/bin/pip install <library_name>
      • Tenga en cuenta que todas las bibliotecas deben instalarse tanto en el host como en la SPU. All these libraries are downloaded and installed at /nz/export/ae/languages/python/2.7/host64/lib/python-link/site-packages and /nz/export/ae/languages/python/2.7/spu64/lib/python-link/site-packages for host and SPU, respectively. Asimismo, asegúrese de que el nombre la biblioteca ssl se cambie a _ssl.so después de copiarlos en la ubicación mencionada.

    Python 3.6 viene con el pip predeterminado, que está en la siguiente ubicación:

    • Host: /nz/export/ae/languages/python/3.6/host64/bin/pip3
    • EPD: " /nz/export/ae/languages/python/3.6/spu64/bin/pip3

Ejemplo

A continuación se muestra un ejemplo de ejecución de 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.

Qué hacer a continuación

Encuentra la siguiente librería SSL para python 2.7:

Para la versión 3.x, el archivo siguiente se debe copiar en:
  • Host: /nz/export/ae/languages/python/3.6/host64/lib/python3.6/lib-dynload/
  • EPD: " /nz/export/ae/languages/python/3.6/spu64/lib/python3.6/lib-dynload/
Mantenga el nombre de archivo tal cual, no lo cambie. Una vez hecho esto, ejecute los siguientes comandos:
  • Ejecutar ' /nz/export/ae/languages/python/3.6/host64/bin/python3.6 -c ' import ssl
  • Ejecutar ' /nz/export/ae/languages/python/3.6/spu64/bin/python3.6 -c ' import ssl