小能豆

更新 TensorFlow

py

我正在使用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

阅读 15

收藏
2024-11-10

共1个答案

小能豆

这个错误通常是由网络连接不稳定或 SSL 库与 pip 的兼容性问题引起的。可以尝试以下几种解决方案:

1. 使用 --default-timeout 参数

增加超时时间,以便在连接较慢时有更多的下载时间。例如:

pip install --upgrade --default-timeout=100 $TF_BINARY_URL

2. 更新 pip

由于你使用的是较旧版本的 pip,可以尝试先更新 pip,因为较新版本的 pip 可能更好地处理 SSL 问题:

sudo pip install --upgrade pip

升级完成后,再次尝试更新 TensorFlow:

pip install --upgrade $TF_BINARY_URL

3. 手动指定 TensorFlow 版本

可以直接指定 TensorFlow 的版本,而不是依赖于 TF_BINARY_URL。例如,如果想安装较新的 TensorFlow 版本,可以执行:

pip install --upgrade tensorflow==1.15

4. 尝试使用 --trusted-host 绕过 SSL 检查

在某些情况下,可以使用 --trusted-host 选项跳过 SSL 检查:

pip install --upgrade $TF_BINARY_URL --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org

5. 尝试使用 HTTP 而不是 HTTPS

如果网络环境问题较大,可以尝试将 $TF_BINARY_URL 中的 URL 从 HTTPS 更改为 HTTP,然后再次尝试运行安装命令。

6. 手动下载并安装

若上述方法均无效,可以尝试手动下载 TensorFlow 的 .whl 文件,然后本地安装。可以通过 TensorFlow 官方 PyPI 页面 找到适合的 .whl 文件,然后下载并安装。例如:

pip install /path/to/tensorflow.whl

这些方法通常可以解决 SSL 连接或超时的问题。

2024-11-10