Error de pyvenv-3.4: se devolvió el estado de salida no cero 1

58

Al intentar crear un entorno virtual utilizando el incluido pyvenv-3.4que viene con 14.04, arroja un error:

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

¿Cómo uso pyvenv-3.4 con Ubuntu 14.04?

Ryan
fuente
1
Si está utilizando Anaconda, ese es el problema, Anaconda no tiene ensurepip: stackoverflow.com/a/39114277/1439843
Gerhard Burger el

Respuestas:

50

Desafortunadamente, 14.04 enviado con un roto pyvenv. De acuerdo con este hilo de la plataforma de lanzamiento, el problema se resolverá en el próximo 14.04-1

Con este método , puede instalar un entorno Pyvenv sin pip y luego instalarlo manualmente después del hecho.

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
fuente
Alguien sugirió una edición radical para usar get-pip.pyen esta respuesta. Creo que eso es demasiado cambio, pero por favor agregue su solución como una nueva respuesta (¡incluso copiando la parte superior de esta respuesta!)
Volker Siegel
¿En qué directorio estás cuando ejecutas estos comandos? Es decir, ¿es este el directorio en el que construirá su aplicación de Python o tiene que cd en 'myenv' para eso? O, ¿por qué estás creando un subdirectorio para el entorno? Preguntas tontas, pero nunca he usado esto antes y hay demasiadas respuestas diferentes. Al menos su respuesta tiene una descarga del sitio python.org y no un repositorio de github del que nunca haya oído hablar. Estoy un poco paranoico sobre cosas como esas.
Bill Rosmus
44
Esto sigue roto en 15.04 también.
Knite
44
Esto permanece roto en 14.04.2 LTS
tamakisquare
No es un problema de Ubuntu, pero tengo el mismo problema con Miniconda.
art-solopov
45

Motivo: Ubuntu 14.04 y Debian tienen una pyvenv-3.4herramienta rota . Ver Ubuntu error 1290847 y fallos de Debian 732703 .

Solución / solución (más corta que la de la otra respuesta):

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

Describí este error en mi propio Gist . La URL en este código es de las instrucciones oficiales de instalación de pip .

Denilson Sá Maia
fuente
55
Necesita prefijar 'sudo apt-get install python3.4-venv' - De lo contrario, no tengo un ejecutable 'pyvenv-3.4' en la RUTA. (Ubuntu 15.04)
Jonathan Hartley
@ JonathanHartley: Cierto. Sin embargo, el error mencionado en esta pregunta / respuesta no está presente en Ubuntu 15.04, por lo que la solución en esta respuesta no es necesaria.
Denilson Sá Maia
Curioso. Llegué aquí porque estoy viendo el problema en 15.04. Ah Las últimas entradas en el largo error de Ubuntu que vincula dicen que uno necesita instalar el nuevo paquete python3-venv, que no es una dependencia de python3, para obtener la solución.
Jonathan Hartley
@ JonathanHartley: Su mensaje de error debe ser diferente al mensaje de error de la pregunta. Su mensaje de error debe ser pyvenv-3.4: command not found. Y sí, la instalación python3-venves la solución para su error.
Denilson Sá Maia
10

Esto también debería funcionar:

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

O mejor aún:

sudo apt-get install python3-pip
sudo pip3 install virtualenv
virtualenv myvenv
Collin Anderson
fuente
2

Te falta la lib venv para python 3.4, solo ejecuta:

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

Gregory
fuente
0

La forma en que resolví esto es ejecutando

$ python -m ensurepip

Lo que produjo un seguimiento de pila que termina con esta línea:

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

Así que fui a https://pypi.python.org/pypi/setuptools/20.10.1 y agarré la rueda y la puse en mi directorio (que tuve que crear con mkdir -p /usr/lib64/python3.4/ensurepip/_bundled/)

Luego corriendo de python -m ensurepipnuevo me enfrenté con

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

Entonces fui a https://pypi.python.org/pypi/pip/8.1.1 , agarré esa rueda y la pegué en el directorio.

Ahora puedo crear virtualenvs con python -m venv .venv. ¡Éxito!

Wayne Werner
fuente
0

Probado en 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!

navaja de afeitar
fuente
Debian está fuera de tema aquí sin embargo ...
Zanna
Lo siento por eso. Esperaba que fuera útil como punto de datos ya que Ubuntu usa Debian como base. Podría probar en mi VM de Ubuntu más tarde
razorsniper
Eso sería genial :)
Zanna
-1

Encontré este error porque me faltaba el python3-venvpaquete en mi sistema.

dominic2145678
fuente
1
¿Puede indicar cómo instalarlo para que otros puedan usarlo cuando sea necesario?
George Udosen