我正在使用Ubuntu 14.04,我有一个TensorFlow V0.10,但我想更新此版本。如果我这样做:
Ubuntu 14.04
TensorFlow V0.10
$ pip install --upgrade $TF_BINARY_URL
但它会打印:
Exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 278, in run requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle) File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1198, in prepare_files do_download, File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1376, in unpack_url self.session, File "/usr/lib/python2.7/dist-packages/pip/download.py", line 572, in unpack_http_url download_hash = _download_url(resp, link, temp_location) File "/usr/lib/python2.7/dist-packages/pip/download.py", line 433, in _download_url for chunk in resp_read(4096): File "/usr/lib/python2.7/dist-packages/pip/download.py", line 421, in resp_read chunk_size, decode_content=False): File "/usr/share/python-wheels/urllib3-1.7.1-py2.py3-none-any.whl/urllib3/response.py", line 225, in stream data = self.read(amt=amt, decode_content=decode_content) File "/usr/share/python-wheels/urllib3-1.7.1-py2.py3-none-any.whl/urllib3/response.py", line 174, in read data = self._fp.read(amt) File "/usr/lib/python2.7/httplib.py", line 573, in read s = self.fp.read(amt) File "/usr/lib/python2.7/socket.py", line 380, in read data = self._sock.recv(left) File "/usr/lib/python2.7/ssl.py", line 341, in recv return self.read(buflen) File "/usr/lib/python2.7/ssl.py", line 260, in read return self._sslobj.read(len) SSLError: The read operation timed out Storing debug log for failure in /home/brm17/.pip/pip.log
这个错误通常是由网络连接不稳定或 SSL 库与 pip 的兼容性问题引起的。可以尝试以下几种解决方案:
pip
--default-timeout
增加超时时间,以便在连接较慢时有更多的下载时间。例如:
pip install --upgrade --default-timeout=100 $TF_BINARY_URL
由于你使用的是较旧版本的 pip,可以尝试先更新 pip,因为较新版本的 pip 可能更好地处理 SSL 问题:
sudo pip install --upgrade pip
升级完成后,再次尝试更新 TensorFlow:
pip install --upgrade $TF_BINARY_URL
可以直接指定 TensorFlow 的版本,而不是依赖于 TF_BINARY_URL。例如,如果想安装较新的 TensorFlow 版本,可以执行:
TF_BINARY_URL
pip install --upgrade tensorflow==1.15
--trusted-host
在某些情况下,可以使用 --trusted-host 选项跳过 SSL 检查:
pip install --upgrade $TF_BINARY_URL --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org
如果网络环境问题较大,可以尝试将 $TF_BINARY_URL 中的 URL 从 HTTPS 更改为 HTTP,然后再次尝试运行安装命令。
$TF_BINARY_URL
若上述方法均无效,可以尝试手动下载 TensorFlow 的 .whl 文件,然后本地安装。可以通过 TensorFlow 官方 PyPI 页面 找到适合的 .whl 文件,然后下载并安装。例如:
.whl
pip install /path/to/tensorflow.whl
这些方法通常可以解决 SSL 连接或超时的问题。