我正在尝试jupyter notebook
使用进行安装pip
,因此我首先安装了pip3
:
sudo apt-get install --no-install-recommends python3-pip
然后我跑了:
sudo pip3 install jupyter
下载包时notebook
会等待几秒钟,然后失败并出现大量错误,错误结尾如下所示:
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.
我的 Ubuntu 版本是:16.04(Xenial),并且我的互联网连接速度相当慢。
答案1
包notebook
大小约为6.9 MB
,如果您使用低速互联网连接,则很有可能由于超时而导致安装失败。
我通过更新解决了这个问题pip3
,但是我也会建议另一种方法,如果您无法升级pip3
,请使用这个,这也可以完成工作。
您可以使用--default-timeout
switch 来解决这个问题,例如:
sudo pip --default-timeout=1000 install jupyter
它应该忽略超时并且安装将成功完成。
对我有用的另一件事是更新pip3
,Ubuntu 存储库中的那个已经很旧了:8.1.1
撰写本指南时的最新版本是:9.0.1
。我建议使用这种方法只是因为您不必pip3
在--default-timeout
每次尝试安装新软件包时都运行,当然您也可以使用别名 ;) 只要适合您就行。
顺便说一句,我不喜欢以 root 身份安装 python 包,因此我建议使用--user
switch 在本地自行安装,但如果您想让这个包范围的系统可用,那么请使用sudo
。
pip3 install --upgrade pip --user
如果您遇到同样的错误,现在您知道如何修复它了,只需使用--default-timeout
开关升级即可pip
。
现在它应该可以正常工作了:
pip3 install jupyter --user
答案2
我已经按照以下设置在我的服务器上修复了这个问题,因为唯一的超时对我没有帮助:
Ubuntu 机器上的 ~/.pip/pip.conf 内容如下
[全局] 受信任主机 = pypi.org files.pythonhosted.org
[安装] 超时 = 100
似乎其他“更受信任”的主机对某些网络提供商来说很好,现在运行良好。更多信息请参阅文档https://pip.pypa.io/en/stable/topics/configuration/#pip-config-file