¿Cómo elimino / elimino un virtualenv?

485

Creé un entorno con el siguiente comando: virtualenv venv --distribute

No puedo eliminarlo con el siguiente comando: rmvirtualenv venv- Esto es parte de virtualenvwrapper como se menciona en la respuesta a continuación para virtualenvwrapper

Hago un lsen mi directorio actual y todavía veo venv

La única forma en que puedo eliminarlo parece ser: sudo rm -rf venv

Tenga en cuenta que el entorno no está activo. Estoy ejecutando Ubuntu 11.10. ¿Algunas ideas? He intentado reiniciar mi sistema en vano.

wulymammoth
fuente
13
Simplemente elimine el directorio.
nathancahill
bocinazo: sudo rmvirtualenv venv no es un comando válido. No estoy seguro de por qué pensé que un reinicio ayudaría. Soy bastante nuevo, para ser honesto.
wulymammoth
24
Tenga en cuenta que rmvirtualenvviene con virtualenvwrapper. Necesita eso instalado para que funcione.
Skytreader
44
Tenga en cuenta que también se puede eliminar todos los paquetes instalados actualmente, pero mantener el entorno virtual en sí si ha instalado virtualenvwrapper: $ virtualenv --clear path_to_my_venv. Lo uso de vez en cuando para asegurarme de que no tengo nada instalado manualmente, como una dependencia antigua que ya no está instalada requirements.txt.
Taylor Edmiston
1
No sudodebería ser necesario en circunstancias normales. El objetivo de un entorno virtual es que puede manipularlo utilizando su cuenta de usuario habitual.
tripleee

Respuestas:

421

¡Eso es! No hay ningún comando para eliminar su entorno virtual. Simplemente desactívelo y elimine su aplicación de sus artefactos eliminándolo recursivamente.

Tenga en cuenta que esto es lo mismo independientemente del tipo de entorno virtual que esté utilizando. virtualenv, venv, Medio ambiente Anaconda, pyenv, pipenvse basan todas el mismo principio aquí.

Thomas Anthony
fuente
14
Vale la pena señalar que si está utilizando pip para instalar dependencias, es posible que desee congelar una lista de dependencias y mantenerla en el directorio de nivel superior. Si luego elige implementar su aplicación, no tendrá problemas.
Thomas Anthony
77
¿Por qué se acepta esto y con tantos votos, cuando la respuesta correcta es la siguiente? Tal vez esto fue para una versión anterior de virtualenvwarpper
jsbueno
99
@jsbueno Estaba usando virtualenv, no virtualenvwrapper (no son el mismo programa). En ese momento, virtualenv no proporcionaba una interfaz para la limpieza; tenías que hacerlo tú mismo.
Thomas Anthony
3
Si ha creado un virtualenv en un repositorio git (y los archivos no se ignoran):git clean -dffx
Rex Hardin
172

Solo para hacer eco de lo que @skytreader había comentado anteriormente, rmvirtualenves un comando proporcionado por virtualenvwrapper, no virtualenv. Tal vez no lo has virtualenvwrapperinstalado?

Consulte la Referencia de comandos de VirtualEnvWrapper para obtener más detalles.

Devy
fuente
113

Utilizar rmvirtualenv

Eliminar un entorno, en el $WORKON_HOME.

Sintaxis:

rmvirtualenv ENVNAME

Debe usar desactivar antes de eliminar el entorno actual.

$ rmvirtualenv my_env

Referencia: http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

Antoniazzi
fuente
2
¡incluso hay tabsoporte de finalización para esto!
muon
13
Tenga en cuenta que esta respuesta es incorrecta ya que el OP nunca dijo que lo habían hechovirtualenvwrapper
KevinDTimm
@KevinDTimm Sí, pero para aquellos de nosotros con virtualenvwrapper, ¡esta respuesta es 'más acertada' que la correcta!
KhoPhi
73

Puede eliminar todas las dependencias al desinstalarlas recursivamente y luego eliminar el venv.

Editar incluyendo comentarios de Isaac Turner

source venv/bin/activate
pip freeze > requirements.txt
pip uninstall -r requirements.txt -y
deactivate
rm -r venv/
Dawn T Cherian
fuente
2
Creo que te estás perdiendo un deactivateantes delrm -r venv/
Isaac Turner
¡Y críticamente solo haga esto si no está compartiendo el sistema pip! (De lo contrario, desinstalarás todos los paquetes de tu sistema).
desde el
2
En realidad, no debería ser necesario hacerlo por separado pip uninstallsi está eliminando todos los paquetes de rmtodos modos. Omitir ese stepe también evita el riesgo señalado en el comentario anterior.
tripleee
33

Simplemente elimine el entorno virtual del sistema. No hay un comando especial para ello.

rm -rf venv
Naveen Agarwal
fuente
1
Trabaja en mi Asegúrese de desactivar primero si su entorno virtual aún se está ejecutando. (su entorno virtual)> desactivar> rm -rf "su entorno virtual"
tthreetorch
Encuentro que la -fbandera no es necesaria. Prefiero evitar esa bandera cuando sea posible.
Will
31

del documento oficial de virtualenv https://virtualenv.pypa.io/en/stable/userguide/

Eliminar un entorno

La eliminación de un entorno virtual se realiza simplemente desactivándolo y eliminando la carpeta del entorno con todo su contenido:

(ENV)$ deactivate
$ rm -r /path/to/ENV
N.Lee
fuente
1
@ Sébastien No, no debería necesitar sudoprivilegios similares o similares a menos que también los haya utilizado para configurar el entorno en primer lugar, lo que generalmente sería un error.
tripleee
El enlace en su respuesta está actualmente roto.
Will
9

Si está utilizando pyenv, es posible eliminar su entorno virtual:

$ pyenv virtualenv-delete <name>
Christiaan Herrewijn
fuente
6

El siguiente comando funciona para mí.

rm -rf /path/to/virtualenv
Ashiq Imran
fuente
Lo mismo aquí, ¿algún efecto secundario conocido de hacer esto? Acabo de eliminar la venvcarpeta
ajayramesh
No tuve ningún efecto secundario
Ashiq Imran
4

Solía pyenv uninstall my_virt_env_nameeliminar el entorno virual.

Nota: Estoy usando pyenv-virtualenv instalado a través del script de instalación.

Ole Henrik Skogstrøm
fuente
Obviamente, esto solo es válido si lo usa pyenv.
tripleee
3

Si es un usuario de Windows y está utilizando conda para administrar el entorno en el indicador de Anaconda, puede hacer lo siguiente:

Asegúrese de desactivar el entorno virtual o reiniciar Anaconda Prompt. Use el siguiente comando para eliminar el entorno virtual:

$ conda env remove --name $MyEnvironmentName

Alternativamente, puedes ir al

C:\Users\USERNAME\AppData\Local\Continuum\anaconda3\envs\MYENVIRONMENTNAME

(esa es la ruta predeterminada del archivo) y elimine la carpeta manualmente.

CathyQian
fuente
1

si eres usuario de Windows, entonces está en C: \ Users \ your_user_name \ Envs. Puedes borrarlo desde allí.

Pruebe también en el símbolo del sistema rmvirtualenv nombre del entorno.

Intenté con el símbolo del sistema, por lo que dijo eliminado pero aún existía. Entonces lo elimino manualmente.

jahmed31
fuente
En realidad esto no es cierto. La ubicación del entorno virtual realmente depende de dónde ejecute el virtualenvcomando. Por ejemplo: C:\>virtualenv my_awesome_venvcreará el entorno virtual en C:\my_awesome_venv.
Felix el
Estaba hablando del envoltorio virtual. Mi error
jahmed31
1

deactivatees el comando que estás buscando. Como lo que ya se ha dicho, no hay un comando para eliminar su entorno virtual. ¡Simplemente desactívelo!

garrettmac
fuente
Esto no responde la pregunta. Tiene razón en que generalmente no necesita destruir su virtualenv, pero eso es lo que parece estar preguntando el OP.
tripleee
1

Si es un usuario de Windows, también puede eliminar el entorno yendo a: C:/Users/username/Anaconda3/envs Aquí puede ver una lista de entorno virtual y eliminar el que ya no necesita.

Shekhar
fuente
0

Puede seguir estos pasos para eliminar todos los archivos asociados con virtualenv y luego reinstalar virtualenv nuevamente y usarlo

cd {python virtualenv folder}

find {broken virtualenv}/ -type l                             ## to list out all the links

deactivate                                           ## deactivate if virtualenv is active

find {broken virtualenv}/ -type l -delete                    ## to delete the broken links

virtualenv {broken virtualenv} --python=python3           ## recreate links to OS's python

workon {broken virtualenv}                       ## activate & workon the fixed virtualenv

pip3 install  ... {other packages required for the project}
Khushhalm
fuente
-9

paso 1: elimina virtualenv virtualenvwrapper copiando y pega el siguiente comando a continuación:

$ sudo pip uninstall virtualenv virtualenvwrapper

paso 2: ve a .bashrc y elimina todos los virtualenv y virtualenvwrapper

terminal abierta:

$ sudo nano .bashrc

desplácese hacia abajo y verá el código debajo y luego bórrelo.

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

a continuación, busca el .bashrc:

$ source ~/.bashrc

PASOS FINALES: sin terminal / shell vaya a / home y encuentre .virtualenv(olvidé el nombre, así que si encuentra algo similar .virtualenvo .venvsimplemente lo elimina. Eso funcionará.

Wanz odiaba
fuente
Esto parece responder a una pregunta completamente diferente, y debería venir con una gran advertencia. Algunos de los consejos también son deficientes (el suministro de .bashrcnuevo no hace nada útil y podría tener consecuencias no deseadas).
tripleee