web-dev-qa-db-fra.com

virtualenv s'est accroché à l'installation de setuptools

je n’avais jamais eu ce problème jusqu’à récemment, mais lorsqu’on essaie de créer un nouvel environnement virtuel (Windows 7, Python 2.7.13, virtualenv == 15.1.0), il est suspendu à "Installation de setuptools, pip, wheel ..." un crtl ^ c vous donne ceci:

PS C:\Users\John\Envs> virtualenv.exe rmapvenv
New python executable in C:\Users\John\Envs\test\Scripts\python.exe
Installing setuptools, pip, wheel...done.
Traceback (most recent call last):
  File "c:\python27\lib\runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:\python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\Python27\Scripts\virtualenv.exe\__main__.py", line 9, in <module>
  File "c:\python27\lib\site-packages\virtualenv.py", line 713, in main
    symlink=options.symlink)
  File "c:\python27\lib\site-packages\virtualenv.py", line 945, in create_environment
    download=download,
  File "c:\python27\lib\site-packages\virtualenv.py", line 901, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "c:\python27\lib\site-packages\virtualenv.py", line 769, in call_subprocess
    line = stdout.readline()
KeyboardInterrupt

ajouter quelques instructions d'impression dans virtualenv.py me donne ceci:

Running command C:\Users\John\Envs\test\Scripts\python.exe - setuptools pip wheel

Collecting setuptools

  Using cached setuptools-35.0.1-py2.py3-none-any.whl

Collecting pip

Collecting wheel

il semble être suspendu au volant

12
John

Utilisez le commutateur -v pour obtenir une sortie Verbose.

Pour moi, c'était une connexion réseau. Plus précisément, le serveur sur lequel j'essayais d'utiliser virtualenv était protégé par un pare-feu contre Internet et je devais utiliser un proxy. Sauf que virtualenv ne semble pas respecter les paramètres de proxy de l'environnement et ne dispose d'aucun commutateur de ligne de commande.

Utilisez donc pip pour pré-mettre en cache/télécharger les 3 paquets nécessaires:

Sudo pip download setuptools pip wheel --proxy http://<yourproxyhere>

Ensuite, vous pouvez exécuter virtualenv et il utilisera les packages mis en cache que vous venez de télécharger.

8
Pretzel

Tout semblait tourner autour de la non installation de la roue, donc si quelqu'un peut expliquer cela, veuillez le faire c'est ce que j'ai fait pour le faire installer. Iran:

virtualenv venv --no-wheel

puis, j'ai activé mon environnement virtuel et exécuté:

pip install --upgrade pip
pip install setuptools --no-use-wheel --upgrade
pip install wheel --no-cache

et autant que je sache, tout fonctionne

2
John

Je ne sais pas si cela va aider, mais j'avais exactement le même problème, bien que ce soit sous linux debian (raspbian Jessie light pour être précis) et python 3.6. Wheel s'est accroché lors de la création d'une virtualenv, et j'ai reçu les mêmes messages d'erreur que vous après une commande ctrl-c (avec Python 3.6 et les chemins Linux). J'ai ensuite eu des problèmes de connexion Internet inaperçus, après avoir résolu ces problèmes, la roue était installée correctement. 

0
calocedrus

Je me suis heurté à cela aussi et aucune des réponses ci-dessus n'a fonctionné. S'est avéré être une mauvaise entrée de cache.

Avec $ virtualenv -vv venv j'obtiendrais une sortie se terminant par:

Running command /Users/ghartmann/cod...test/venv/bin/python - setuptools pip wheel
Collecting setuptools
    Cache entry deserialization failed, entry ignored

Il se bloquerait là-bas et quand vous vous interrompriez, vous verriez la pile indiquant qu'elle était bloquée en téléchargeant le paquet wheel.

Sur macos le cache pip est ici: ~/Library/Caches/pip.
La suppression de ce répertoire a résolu le problème, car il était capable de réinitialiser le cache.

0
Gabriel