Resolvendo problemas de verificação do certificado SSL ao executar comandos usando o 'pip'

Resolvendo problemas de verificação do certificado SSL ao executar comandos usando o 'pip'

Os bloqueios de acesso são bastante comuns em ambientes corporativos. Com isso, pode ser que você encontre alguns problemas ao tentar utilizar as ferramentas da BotCity e os recursos do Python em uma máquina que esteja no ambiente da sua empresa.

Um problema que pode acontecer nesses cenários é a falha na validação do certificado SSL ao tentar executar comandos utilizando o `pip` do Python, como por exemplo para fazer a instalação de alguma dependência.

WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)'))': /simple/pip/

Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443):
Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)'))) - skipping

Caso você esteja observando algum erro parecido com esse no log do Runner ou ao executar comandos manualmente, pode ser que o seu ambiente esteja com algum bloqueio para instalar pacotes diretamente do PyPI (Python Package Index).

Para resolver esse problema, você pode tentar executar o seguinte comando para fazer uma configuração global do `pip` relacionada ao `trusted-host`:

  1. pip config set global.trusted-host  "pypi.org files.pythonhosted.org pypi.python.org" --trusted-host=pypi.python.org --trusted-host=pypi.org --trusted-host=files.pythonhosted.org

Dessa forma, a próxima vez que o Runner for realizar a etapa de instalação das dependências, esse erro relacionado ao SSL não voltará a acontecer.

Caso essa alternativa não seja o suficiente, é importante validar com o time de TI da sua empresa se essa é uma solução adequada para o seu ambiente.

Lembre-se também de validar com o time de TI se é necessário realizar configurações adicionais com relação ao uso do `pip`.

Você pode encontrar mais detalhes sobre problemas com bloqueios do ambiente na seção de pré-requisitos da documentação.