erreur pyvenv-3.4: a renvoyé un état de sortie non nul 1


57

Lorsque vous essayez de créer un environnement virtuel à l'aide de l'inclus pyvenv-3.4fourni avec 14.04, une erreur est générée:

Error: Command '['/some/directories/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1

Comment utiliser pyvenv-3.4 avec Ubuntu 14.04?


1
Si vous utilisez Anaconda, c'est le problème qui se pose à Anaconda ensurepip: stackoverflow.com/a/39114277/1439843
Gerhard Burger

Réponses:


50

Malheureusement, 14.04 livré avec un cassé pyvenv. Selon ce fil de lancement, le problème sera résolu dans les prochains 14.04-1.

En utilisant cette méthode, vous pouvez installer un environnement Pyvenv sans pip, puis installer manuellement pip après coup.

pyvenv-3.4 --without-pip myvenv
source ./myvenv/bin/activate
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-3.4.4.tar.gz
tar -vzxf setuptools-3.4.4.tar.gz
cd setuptools-3.4.4
python setup.py install
cd ..
wget https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz
tar -vzxf pip-1.5.6.tar.gz
cd pip-1.5.6
python setup.py install
cd ..
deactivate
source ./myvenv/bin/activate

Quelqu'un a suggéré une modification radicale à utiliser get-pip.pydans cette réponse - je pense que c'est trop de changement, mais veuillez ajouter votre solution comme nouvelle réponse (même en copiant simplement la partie supérieure de cette réponse)!
Volker Siegel le

Dans quel répertoire êtes-vous lorsque vous exécutez ces commandes? C’est-à-dire, est-ce le répertoire dans lequel vous construirez votre application python ou devez-vous vous connecter à 'myenv' pour cela. Ou pourquoi créez-vous un sous-répertoire pour l'environnement? Des questions idiotes, mais je ne les ai jamais utilisées auparavant et il y a trop de réponses différentes. Au moins votre réponse contient un téléchargement depuis le site python.org et non un référentiel github dont je n’ai jamais entendu parler. Je suis un peu paranoïaque à propos de choses comme ça.
Bill Rosmus

4
Cela reste cassé dans 15.04 également.
knite

4
Cela reste cassé dans 14.04.2 LTS
tamakisquare

Ce n'est pas vraiment un problème Ubuntu, mais j'ai le même problème avec Miniconda.
art-solopov

45

Raison: Ubuntu 14.04 et Debian ont tous deux un pyvenv-3.4outil cassé . Voir le bogue Ubuntu 1290847 et le bogue Debian 732703 .

Solution / solution de contournement (plus courte que celle de l'autre réponse):

pyvenv-3.4 --without-pip venvdir
source venvdir/bin/activate
curl https://bootstrap.pypa.io/get-pip.py | python
deactivate
source venvdir/bin/activate

J'ai décrit ce bug dans mon propre Gist . L'URL dans ce code provient des instructions officielles d'installation de pip .


5
Vous devez préfixer 'sudo apt-get install python3.4-venv' - Sinon, je n'ai pas d'exécutable 'pyvenv-3.4' sur le chemin PATH. (Ubuntu 15.04)
Jonathan Hartley

@ JonathanHartley: Vrai. Cependant, le bogue mentionné dans cette question / réponse n’est pas présent dans Ubuntu 15.04, la solution de contournement dans cette réponse n’est donc pas nécessaire.
Denilson Sá Maia

Curieuse. Je suis ici parce que je suis trouve le problème en 15,04. Ah Les dernières entrées du long bogue Ubuntu que vous avez lié indiquent qu'il faut installer le nouveau paquet python3-venv, qui n'est pas une dépendance de python3, pour obtenir le correctif.
Jonathan Hartley

@ JonathanHartley: votre message d'erreur doit être différent du message d'erreur de la question. Votre message d'erreur doit être pyvenv-3.4: command not found. Et oui, l'installation python3-venvest la solution à votre erreur.
Denilson Sá Maia

10

Cela devrait fonctionner aussi:

sudo apt-get install python-virtualenv
virtualenv -p python3 myvenv

Ou mieux encore:

sudo apt-get install python3-pip
sudo pip3 install virtualenv
virtualenv myvenv

2

Il vous manque la version de venv pour python 3.4, lancez simplement:

$ apt-get installez python3.4-dev python3.4-venv


0

La façon dont j'ai résolu ceci est en cours d'exécution

$ python -m ensurepip

Qui a produit un stacktrace se terminant par cette ligne:

FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib64/python3.4/ensurepip/_bundled/setuptools-20.10.1-py2.py3-none-any.whl'

Alors je suis allé à https://pypi.python.org/pypi/setuptools/20.10.1 et ai saisi le volant et l'ai mis dans mon répertoire (que j'ai dû créer avec mkdir -p /usr/lib64/python3.4/ensurepip/_bundled/)

Puis en courant python -m ensurepip, j’ai été confronté à

No such file or directory: '/usr/lib64/python3.4/ensurepip/_bundled/pip-8.1.1-py2.py3-none-any.whl

Je suis donc allé à https://pypi.python.org/pypi/pip/8.1.1 , j'ai saisi cette roue et je l'ai collé dans le répertoire.

Maintenant, je peux créer des virtualenvs avec python -m venv .venv. Succès!


0

Testé sur Debian

 
$ python3.4 -m venv --without-pip env
$ cd env
$ source ./bin/activate # virtualenv activated

$ wget https://bootstrap.pypa.io/get-pip.py # get installation script for pip
$ python3.4 get-pip.py
$ deactivate
$ source venvdir/bin/activate

$ pip list # just to check that pip works!

Debian n'est pas dans le sujet ici cependant ...
Zanna

Désolé pour ça. J'espérais que cela serait utile comme point de données, car Ubuntu utilise Debian comme base. Je pourrais essayer plus tard sur ma machine virtuelle Ubuntu
razorsniper

Ce serait génial :)
Zanna

-1

Je suis tombé sur cette erreur car il me manquait le python3-venvpaquet sur mon système.


1
Pouvez-vous préciser comment l’installer pour que d’autres puissent l’utiliser en cas de besoin?
George Udosen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.