有时pip安装很慢

zjf*_*fdu 11 python pip

我确信这不是网络问题.我的一些机器安装包使用pip是非常快的,而其他一些机器很慢,从日志,我怀疑慢是由于它将编译包,我想知道我怎么能避免这个编译使pip安装快速.这是慢速pip安装的日志.

Collecting numpy==1.10.4 (from -r requirements.txt (line 1))
  Downloading numpy-1.10.4.tar.gz (4.1MB)
    100% |????????????????????????????????| 4.1MB 95kB/s
Requirement already satisfied (use --upgrade to upgrade): wheel==0.26.0 in ./lib/python2.7/site-packages (from -r requirements.txt (line 2))
Building wheels for collected packages: numpy
  Running setup.py bdist_wheel for numpy ... -
done
  Stored in directory: /root/.cache/pip/wheels/66/f5/d7/f6ddd78b61037fcb51a3e32c9cd276e292343cdd62d5384efd
Successfully built numpy
Run Code Online (Sandbox Code Playgroud)

Har*_*rma 13

如果有人像我一样遇到网络问题并登陆此页面:

我注意到我的机器速度很慢,因为pip install在尝试创建套接字连接时会陷入网络调用中(sock.connect())。正如此处所讨论的,当主机支持 IPv6 但您的网络不支持时,可能会发生这种情况。按照此处的说明,我通过在 Ubuntu 计算机上禁用 IPv6 来检查这是否属实,如下所示:

sysctl net.ipv6.conf.all.disable_ipv6=1
Run Code Online (Sandbox Code Playgroud)

进行此更改后,我不再挂在网络通话中。

然而,我不确定这是否是一个可持续的解决方案,因为我们都在慢慢转向 IPv6。


cod*_*kel 11

缓慢确实是由于编译。但是现在有了 manylinux 标签。这允许安装预编译的发行版。例如,请参阅numpyPyPI 页面以查看是否为您的 Python 版本提供了 manylinux 包。

更新 (2021-06)

由于这个答案最近受到了一些关注,现在有许多用于预编译包的linux标签(没有双关语)。

  • 我不知道你是否可以强制 pip 这样做。对于我的环境,pip 会自动选择预编译的包(如果适用,我猜)。但我想你需要一个足够新的 pip 版本。在“pip install numpy”之前尝试“pip install --upgrade pip setuptools wheel”。 (4认同)