pip falha com ReadTimeoutError

4

Eu estou tentando instalar jupyter notebook usando pip , então instalei pela primeira vez pip3 :

sudo apt-get install --no-install-recommends python3-pip

Então eu corri:

sudo pip3 install jupyter

Durante o download do pacote notebook ele aguarda alguns segundos, ele falha com muitos erros, e o final deles é assim:

File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/response.py", line 231, in _error_catcher
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.

Minha versão do Ubuntu é: 16.04 (Xenial), e estou executando em uma conexão de Internet bastante lenta.

    
por Ravexina 15.04.2017 / 19:41

1 resposta

5

O tamanho do pacote notebook está em torno de 6.9 MB e, se você estiver executando em uma conexão à Internet de baixa velocidade, há uma grande chance de a instalação falhar devido ao tempo limite.

Eu consertei o problema atualizando o pip3 , no entanto vou sugerir outra maneira também, se não for possível atualizar o pip3 , use este, isso também funcionaria. / p>

Você pode usar a opção --default-timeout para corrigir esse problema, por exemplo:

sudo pip --default-timeout=1000 install jupyter

Deve ignorar o tempo limite e a instalação será feita com sucesso.

A outra coisa que funcionou para mim foi a atualização pip3 , a que existe nos repositórios do Ubuntu é bem antiga: 8.1.1 e a última versão no momento de escrever este guia é: 9.0.1 . Eu sugiro este método simplesmente porque você não precisa executar pip3 com --default-timeout toda vez que você está tentando instalar um novo pacote, e é claro que você pode usar um alias também;) o que for que funcione para você.

A propósito, eu não sou fã de instalar pacotes python como root, então eu sugiro usar --user switch para instalá-lo localmente para você, mas se você está tentando disponibilizar este pacote para o sistema, então vá com sudo .

pip3 install --upgrade pip --user

E se você receber o mesmo erro, agora você sabe como corrigi-lo, basta usar --default-timeout para atualizar pip .

Agora, deve funcionar sem erros:

pip3 install jupyter --user
    
por Ravexina 15.04.2017 / 19:41