下载grpcio反射时Pypi / pip块

时间:2017-10-11 10:57:04

标签: python pip grpc pypi

使用pip安装grpcio-reflection需要很长时间。

奇怪的是因为PyPI中的pip包只有8KB,但下载时间超过一分钟,而其他兆字节的包下载速度非常快。

更新: 它没有下载,有很多编译正在进行中。似乎该功能仍处于alpha状态,因此包不像标准grpcio那样预编译

UPDATE2:Repro步骤

我刚刚在这里开了一个问题:https://github.com/grpc/grpc/issues/12992我正在复制这里的重复步骤以完成。

似乎grpci-reflection软件包安装冻结,具体取决于同一命令行中的其他软件包

这可以通过这两个docker不同的容器轻松复制:

Dockerfile.fast - 容器创建时间〜1分23秒

#Download base ubuntu image
FROM ubuntu:16.04
RUN apt-get update && \
    apt-get -y install ca-certificates curl

# Prepare pip 
RUN apt-get -y install python-pip
RUN pip install -U pip
RUN pip install grpcio grpcio-tools
RUN pip install grpcio-reflection         # Two lines is FAST

Dockerfile.slow - 容器创建时间5分20秒

#Download base ubuntu image
FROM ubuntu:16.04
RUN apt-get update && \
    apt-get -y install ca-certificates curl

# Prepare pip
RUN apt-get -y install python-pip
RUN pip install -U pip
RUN pip install grpcio grpcio-tools grpcio-reflection  # Single line is SLOW

计时容器构建时间:

time docker build --rm --no-cache -f Dockerfile.fast -t repro_reflbug_fast:latest .
......
real    1m22.295s
user    0m0.060s
sys     0m0.040s

time docker build --rm --no-cache -f Dockerfile.slow -t repro_reflbug_slow:latest .
.....
real    6m28.290s
user    0m0.052s
sys     0m0.052s
.....

我没有时间调查,但第二个案件很长时间没有阻止,而第一个案件没有。

1 个答案:

答案 0 :(得分:1)

事实证明,此问题在相应的GitHub存储库中被接受为有效。现在正在讨论这个问题:

https://github.com/grpc/grpc/issues/12992