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?

Ryan
la source
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
Ryan
la source
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 .

Denilson Sá Maia
la source
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
Collin Anderson
la source
2

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

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

Gregory
la source
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!

Wayne Werner
la source
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!
razorsniper
la source
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.

dominic2145678
la source
1
Pouvez-vous préciser comment l’installer pour que d’autres puissent l’utiliser en cas de besoin?
George Udosen