2017-08-14 2 views
26

exécutant ce qui suit:la mise en place dans l'environnement à l'aide virtaulenv python3 collé sur setuptools, pépin, roue

virtualenv -p python3 venv

donne:

Running virtualenv with interpreter /usr/bin/python3 
Using base prefix '/usr' 
New python executable in /specific/a/home/cc/students/csguests/taivanbatb/venv/bin/python3 
Also creating executable in /specific/a/home/cc/students/csguests/taivanbatb/venv/bin/python 
Installing setuptools, pip, wheel... 

qui est là où il est bloqué.

appel CTRL-C donne:

File "/usr/local/bin/virtualenv", line 11, in <module> 
    sys.exit(main()) 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 671, in main 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2328, in <module> 
    raise SystemExit(popen.wait()) 
    File "/usr/lib/python2.7/subprocess.py", line 1376, in wait 
    pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0) 
    File "/usr/lib/python2.7/subprocess.py", line 476, in _eintr_retry_call 
    return func(*args) 
KeyboardInterrupt 
    main() 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 713, in main 
    symlink=options.symlink) 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 945, in create_environment 
    download=download, 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 901, in install_wheel 
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT) 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 769, in call_subprocess 
    line = stdout.readline() 
KeyboardInterrupt 

similaires à this.

Comme suggéré dans la question liée, j'ai essayé d'installer avec --no-wheel mais en vain. Et je suis sûr que ce n'est pas un problème de connectivité réseau car la configuration d'un environnement en utilisant python2 en utilisant virtualenv env ne donne aucune erreur.

Les versions spécifiques de tous les paquets que je me sers sont les suivantes:

python 3.4.0 python 2.7.6 virtualenv 15.1.0

+0

J'ai vu ça aussi. [Cette solution de contournement] (https://stackoverflow.com/a/43623195/2296458) semble fonctionner, mais je n'ai toujours pas d'explication pour expliquer pourquoi le blocage se produit en premier lieu. – CoryKramer

+0

@CoryKramer la solution de contournement que vous avez liée ne fonctionne pas si j'utilise python3 comme 'virtualenv -p python3 venv --no-wheel' ... il reste toujours bloqué –

+0

Quelle version d'OS utilisez-vous? – kshikama

Répondre

11

1.Vérifier vos connexions Internet.

2.Réglez python3 comme interpréteur python par défaut puisque python2.7 est votre interpréteur python par défaut. Essayez d'utiliser sans roue par: -
virtualenv venv --no-wheel puis activer virtualenv et exécuter: -

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

Si vous êtes en retard proxy utilisez: -
sudo pip download setuptools pip wheel --proxy http://<yourproxyhere>

Après tout cela virtualenv -p python3 venv travaille dans mon virtualenv parfaitement.
REMARQUE: En supposant que l'environnement virtuel est déjà défini dans votre système et python3 est votre interpréteur par défaut.

Vous n'avez pas besoin de faire virtualenv -p python3 venv. Vous pouvez spécifier l'interpréteur python (présent dans/usr/bin/dossier *) que vous souhaitez utiliser dans virtualenv et l'utiliser comme ceci: -
virtualenv --python =/usr/bin/pythonX.Y /home/nom d'utilisateur/chemin/vers/virtualenv_name

si vous souhaitez installer dans le répertoire de travail actuel, vous pouvez utiliser: -
virtualenv --python =/usr/bin/pythonX.Y virtualenv_name
REFERENCE

0

Votre trace de pile indique que vous utilisez virtualenv depuis votre installation 2.7. Cela indiquerait que votre PATH n'est pas défini pour 3.x. Démarrez un nouveau shell, définissez le PATH de sorte que /usr/local/lib/python2.7 n'y figure pas, et réessayez.

0

virtualenv est juste un paquet python. Et vous pouvez l'installer à la fois sur python2 et python3. D'après mon expérience, virtualenv sur python3 gère bien les deux versions de Python. Votre stacktrace montre que vous utilisez virtualenv pour python2 - essayez de passer à python3.

Pour l'installer sur python3, exécutez

pip3 install virtualenv 

ou, si vous devez utiliser apt-get pour une raison quelconque,

apt-get install python3-virtualenv