【Python】pip install过程太慢了,如何加速?
  W7xauqsNtuHG 2023年11月02日 69 0

以下是几种加速pip安装过程的方法:

1.更换镜像源:

将pip默认的软件源替换为国内镜像源可以提高下载速度。例如,可以将官方源(http://pypi.python.org/simple/) 替换为国内镜像源如豆瓣源(http://pypi.douban.com/simple/) 或清华源(https://pypi.tuna.tsinghua.edu.cn/simple/)等。临时使用命令行参数指定源:

pip install -i https://pypi.douban.com/simple/ package_name

永久修改pip配置文件,设置默认源: 创建或编辑 ~/.pip/pip.conf 文件(Linux/macOS)或 %APPDATA%\pip\pip.ini 文件(Windows),添加以下内容:

[global]
index-url = https://pypi.douban.com/simple/

2.使用代理:

如果您的网络需要通过代理才能访问互联网,则可以配置代理以加速pip安装。可以通过设置HTTP_PROXY和HTTPS_PROXY环境变量来实现。
在命令行中设置临时代理:

set HTTP_PROXY=http://proxy.example.com:port
set HTTPS_PROXY=http://proxy.example.com:port
pip install package_name

永久设置代理: 将上述设置添加到您的操作系统环境变量中以使其永久生效。

3.使用缓存:

如果您的计算机上已经下载了所需的软件包,可以使用"--cache-dir"参数来指定缓存目录,pip将直接从缓存中安装软件包而不是从网络下载。

pip install --cache-dir=/path/to/cache_dir package_name

4.升级pip版本:

确保您使用的是最新版本的pip工具,因为较新的版本可能会提供更快的下载速度和性能改进。
升级pip:

pip install --upgrade pip



例如:

#安装缓慢,最终报错。
(venv) [root@AI my_rasa]# pip3 install -U pip
Requirement already satisfied: pip in ./venv/lib/python3.9/site-packages (21.2.3)
Collecting pip
  Downloading pip-23.1.2-py3-none-any.whl (2.1 MB)
     |███████████████████████▎        | 1.5 MB 7.7 kB/s eta 0:01:13ERROR: Exception:
Traceback (most recent call last):
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 62, in read
    data = self.__fp.read(amt)
  File "/usr/lib64/python3.9/http/client.py", line 463, in read
    n = self.readinto(b)
  File "/usr/lib64/python3.9/http/client.py", line 507, in readinto
    n = self.fp.readinto(b)
  File "/usr/lib64/python3.9/socket.py", line 704, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib64/python3.9/ssl.py", line 1242, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib64/python3.9/ssl.py", line 1100, in read
    return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/cli/base_command.py", line 173, in _main
    status = self.run(options, args)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/cli/req_command.py", line 203, in wrapper
    return func(self, options, args)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/commands/install.py", line 315, in run
    requirement_set = resolver.resolve(
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 94, in resolve
    result = self._result = resolver.resolve(
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 472, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 341, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria
    if not criterion.candidates:
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__
    return bool(self._sequence)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 140, in __bool__
    return any(self)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 128, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 82, in _iter_built_with_inserted
    candidate = func()
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 207, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 295, in __init__
    super().__init__(
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
    self.dist = self._prepare()
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 227, in _prepare
    dist = self._prepare_distribution()
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 305, in _prepare_distribution
    return self._factory.preparer.prepare_linked_requirement(
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/operations/prepare.py", line 508, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/operations/prepare.py", line 550, in _prepare_linked_requirement
    local_file = unpack_url(
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/operations/prepare.py", line 239, in unpack_url
    file = get_http_url(
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/operations/prepare.py", line 102, in get_http_url
    from_path, content_type = download(link, temp_dir.path)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/network/download.py", line 145, in __call__
    for chunk in chunks:
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/cli/progress_bars.py", line 144, in iter
    for x in it:
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_internal/network/utils.py", line 63, in response_chunks
    for chunk in response.raw.stream(
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/urllib3/response.py", line 541, in read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
  File "/usr/lib64/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/root/my_rasa/venv/lib64/python3.9/site-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
    raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
WARNING: You are using pip version 21.2.3; however, version 23.1.2 is available.
You should consider upgrading via the '/root/my_rasa/venv/bin/python3 -m pip install --upgrade pip' command.
(venv) [root@AI my_rasa]# 
(venv) [root@AI my_rasa]# 
(venv) [root@AI my_rasa]# 
(venv) [root@AI my_rasa]# 
(venv) [root@AI my_rasa]#


#指定国内安装源,秒成!
(venv) [root@AI my_rasa]# pip3 install -U pip -i https://pypi.douban.com/simple/
Looking in indexes: https://pypi.douban.com/simple/
Requirement already satisfied: pip in ./venv/lib/python3.9/site-packages (21.2.3)
Collecting pip
  Downloading https://pypi.doubanio.com/packages/08/e3/57d4c24a050aa0bcca46b2920bff40847db79535dc78141eb83581a52eb8/pip-23.1.2-py3-none-any.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 4.1 MB/s 
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.2.3
    Uninstalling pip-21.2.3:
      Successfully uninstalled pip-21.2.3
Successfully installed pip-23.1.2
(venv) [root@AI my_rasa]# 
(venv) [root@AI my_rasa]# 

请注意:

具体方法的适用性取决于您所在的环境和网络配置。尝试这些方法中的一个或多个,以找到最适合您的情况的解决方案。


【Python】pip install过程太慢了,如何加速?_加速

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  9JCEeX0Eg8g4   2023年11月25日   37   0   0 ednpython
  38gcbVXUBcLA   2023年11月19日   27   0   0 python缩进
  6tuRdFP5lxfF   2023年11月22日   32   0   0 python日志记录
W7xauqsNtuHG