Este documento descreve o processo de instalação do utilitário pip para a linguagem INZA Python 2.7
de 64 bits, fornecida como parte do pacote IBM Netezza Analytics.
Antes de iniciar
Certifique-se de que os seguintes produtos estejam instalados no sistema.
- Pacote IBM Netezza Analytics da 11.0.x.
- OpenSSL versão 1.0.2x
Nota: Os defeitos para qualquer biblioteca de terceiros Python não são abordados.
As vulnerabilidades só podem ser corrigidas pelo terceiro Python.
Esse procedimento fornece apenas uma maneira de instalar bibliotecas de terceiros e não é suportado pela IBM.
Procedimento
- Instalação do pip:
O utilitário pip não é fornecido por padrão com o Python 2.7. Ele deve ser instalado no lado do host e da SPU. Use os comandos para realizar a instalação no host e na SPU, respectivamente.
- 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
Isso instala os utilitários pip e pip2 em ' /nz/export/ae/languages/python/2.7/host64/bin/ e ' /nz/export/ae/languages/python/2.7/spu64/bin/, respectivamente.
Observação: o utilitário precisa ser instalado na linguagem python do host e da SPU. O utilitário pip requer uma biblioteca SSL para funcionar corretamente, que não é fornecida com a linguagem Python 2.7 host64 e spu64.
- Solução alternativa de SSL:
O pip requer o SSL para instalar bibliotecas de terceiros. A biblioteca SSL não é fornecida atualmente
com a linguagem Python 2.7 spu64 e host. Esta etapa fornece uma solução alternativa para acessar a biblioteca SSL a partir de executáveis python.
- Copie a biblioteca anexada _ssl.so_host64 como _ssl.so no local " /nz/export/ae/languages/python/2.7/host64/lib/python-link/lib-dynload/ e _ssl.so_spu64 como _ssl.so no local " /nz/export/ae/languages/python/2.7/spu64/lib/python-link/lib-dynload/, respectivamente.
Observação: as bibliotecas SSL fornecidas dependem do sistema OpenSSL, cuja versão deve ser no mínimo 1.0.2. Qualquer
versão inferior a essa não será suportada.
- Confirme se o SSL é compatível tentando importar a biblioteca SSL como "
import ssl dos executáveis " /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 ocorrer um erro em relação à compatibilidade de versão, os pacotes OpenSSL deverão ser atualizados para a versão
1.0.2.
- Instale bibliotecas de terceiros:
A solução alternativa na etapa 2 fornece a biblioteca SSL necessária para o pip. Agora, use o seguinte comando para instalar qualquer biblioteca de terceiros usando o 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>
- Observe que todas as bibliotecas precisam ser instaladas tanto no host quanto na SPU. Todas essas bibliotecas são baixadas e instaladas em ' /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 para o host e a SPU, respectivamente. Além disso, assegure-se de que a biblioteca SSL seja renomeada para
_ssl.so
depois de copiá-la no local mencionado.
O Python 3.6 vem com o pip padrão, que pode ser encontrado no local a seguir:
- Host: /nz/export/ae/languages/python/3.6/host64/bin/pip3
- SPU: ' /nz/export/ae/languages/python/3.6/spu64/bin/pip3
Exemplo
A seguir está um exemplo de execução 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.
O que fazer em seguida
Encontre a seguinte biblioteca SSL para python 2.7:
Para a versão 3.x, o arquivo a seguir deve ser copiado em:
- 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/
Mantenha o nome do arquivo no estado em que se encontra, não mude-o. Depois disso, execute os seguintes comandos:
- Executar ' /nz/export/ae/languages/python/3.6/host64/bin/python3.6 -c '
import ssl
- Executar ' /nz/export/ae/languages/python/3.6/spu64/bin/python3.6 -c '
import ssl