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?


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

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 .


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

2

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

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


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!


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!


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.


1
¿Puede indicar cómo instalarlo para que otros puedan usarlo cuando sea necesario?
George Udosen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.