2017-10-11 8 views
0

L'installation de grpcio-reflection avec pip prend beaucoup de temps. Il est étrange que le paquet pip ne soit que de 8 Ko dans PyPI, mais le téléchargement prend plus d'une minute tandis que les autres paquets qui se trouvent dans les mégaoctets sont téléchargés très rapidement.Blocs Pypi/pip lors du téléchargement de grpcio-reflection

MISE À JOUR: Il n'était pas en cours de téléchargement, il y a beaucoup de compilation en cours. Il semble que la fonction est encore en alpha de sorte que le paquet ne soit pas précompilée comme grpcio norme

MAJ2: Repro étapes

Je viens d'ouvrir un problème ici: https://github.com/grpc/grpc/issues/12992 et je copie les étapes repro ici pour achèvement.

Il semble que l'installation du paquet grpci-réflexion se fige en fonction d'autres paquets de la même ligne de commande

Ceci peut être facilement reproduite par ces deux conteneurs docker différents:

Dockerfile.fast - temps de création de conteneurs ~ 1m 23s

#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 - temps de création de conteneurs 5m 20s

#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 

conteneurs de chronométrage Temps de construction:

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 
..... 

Je ne l'ai pas encore eu le temps d'enquêter, mais les seconds blocs de cas pendant une longue période alors que le premier ne marche pas.

+0

Télécharger semble être rapide, mais après que l'installation semble être ralenti presque à l'arrêt. Je n'ai pas regardé pourquoi (pour l'instant). Peut-être des problèmes avec certaines dépendances - le paquet liste 'cython' et' protobuf' comme dépendances. – phd

+0

Sur quelle plateforme travaillez-vous? Avec quelle version de 'pip'? Travaillez-vous avec un environnement virtuel (ce qui est recommandé) et si oui avec quelle version de virtualenv? 'Grpcio-reflection' est pur Python donc (à condition que' grpcio' et 'protobuf' soient installés séparément) il ne devrait pas y avoir de compilation quand vous l'installez. –

+1

@NathanielManistaAtGoogle Bonjour Nathaniel, merci de votre intérêt. J'ai mis à jour la question, ajouté des étapes de repro et également créé un ticket dans github. Faites-moi savoir si vous avez besoin de plus de détails. – purpletentacle

Répondre