Installazione dell'utilità pip con INZA Python

Questo documento descrive il processo di installazione dell'utilità pip per il linguaggio INZA Python 2.7 a 64 bit, fornito come parte del pacchetto IBM Netezza Analytics.

Prima di iniziare

Assicurarsi che i seguenti prodotti siano installati sul sistema.

  • Pacchetto IBM Netezza Analytics 11.0.x.
  • OpenSSL versione 1.0.2x
Nota:

I difetti di qualsiasi libreria Python di terze parti non vengono affrontati.

Le vulnerabilità possono essere risolte solo dalla terza parte Python.

Questa procedura fornisce solo un modo per installare librerie di terze parti e non è supportata da IBM.

Procedura

  1. Installazione del Pip:

    L'utilità pip non è fornita per impostazione predefinita con Python 2.7. Deve essere installato sia sul lato host che su quello SPU. Utilizzare i comandi per eseguire l'installazione rispettivamente sul lato host e SPU.

    • Host: /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

    Questo installa le utilità pip e pip2 rispettivamente in '/nz/export/ae/languages/python/2.7/host64/bin/ e '/nz/export/ae/languages/python/2.7/spu64/bin/.

    Nota: l'utilità deve essere installata sia per l'host che per il linguaggio python della SPU. L'utilità pip richiede una libreria SSL per il corretto funzionamento, che non è fornita con il linguaggio Python 2.7 host64 e spu64.
  2. Soluzione SSL:

    Il pip richiede SSL per installare librerie di terze parti. La libreria SSL non è attualmente fornita con spu64 e con il linguaggio Python 2.7 dell'host. Questo passo fornisce una soluzione per accedere alla libreria SSL dagli eseguibili python.

    1. Copiare la libreria allegata _ssl.so_host64 come _ssl.so nella posizione '/nz/export/ae/languages/python/2.7/host64/lib/python-link/lib-dynload/ e _ssl.so_spu64 come _ssl.so nella posizione '/nz/export/ae/languages/python/2.7/spu64/lib/python-link/lib-dynload/, rispettivamente.
      Nota: le librerie SSL fornite dipendono dal sistema OpenSSL, la cui versione deve essere almeno la 1.0.2. Qualsiasi versione inferiore a questa non è supportata.
    2. Confermare se l'SSL è compatibile provando a importare la libreria SSL come 'import ssl dagli eseguibili '/nz/export/ae/languages/python/2.7/host64/bin/python e '/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

    Se si verifica un errore di compatibilità di versione, è necessario aggiornare i pacchetti OpenSSL alla versione 1.0.2.

  3. Installare librerie di terze parti:

    Il workaround al punto 2 fornisce la libreria SSL necessaria a pip. Ora usate il seguente comando per installare qualsiasi libreria di terze parti usando pip:

    • Host: /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>
      • Si noti che ogni libreria deve essere installata sia sul lato host che su quello SPU. Tutte queste librerie vengono scaricate e installate rispettivamente su '/nz/export/ae/languages/python/2.7/host64/lib/python-link/site-packages e '/nz/export/ae/languages/python/2.7/spu64/lib/python-link/site-packages per l'host e l'SPU. Inoltre, assicurarsi che la libreria SSL sia rinominata in '_ssl.so dopo averla copiata nella posizione indicata.

    Python 3.6 viene fornito con il pip predefinito, che si trova al seguente indirizzo:

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

Esempio

Di seguito è riportato un esempio di esecuzione di 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.

Operazioni successive

Trovate la seguente libreria SSL per python 2.7:

Per la versione 3.x, il seguente file deve essere copiato in:
  • Host: /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/
Mantenere il nome del file così com'è, non modificarlo. Una volta fatto, eseguire i seguenti comandi:
  • Eseguire '/nz/export/ae/languages/python/3.6/host64/bin/python3.6 -c 'import ssl'
  • Eseguire '/nz/export/ae/languages/python/3.6/spu64/bin/python3.6 -c 'import ssl'