Como faço para remover / excluir um virtualenv?


485

Criei um ambiente com o seguinte comando: virtualenv venv --distribute

Não consigo removê-lo com o seguinte comando: rmvirtualenv venv- Isso faz parte do virtualenvwrapper conforme mencionado na resposta abaixo para virtualenvwrapper

Eu faço um lsno meu diretório atual e ainda vejo venv

A única maneira de removê-lo parece ser: sudo rm -rf venv

Observe que o ambiente não está ativo. Estou executando o Ubuntu 11.10. Alguma ideia? Eu tentei reiniciar meu sistema sem sucesso.


13
Apenas remova o diretório.
Nathancahill 12/06/12

honk: sudo rmvirtualenv venv não é um comando válido. Não sei por que pensei que uma reinicialização ajudaria. Sou bastante novo, para ser sincero.
sudostack

24
Observe que rmvirtualenvvem com o virtualenvwrapper. Você precisa disso instalado para fazê-lo funcionar.
skytreader

4
Note que você também pode remover todos os pacotes atualmente instalados, mas manter o ambiente virtual em si, se tiver virtualenvwrapper instalado: $ virtualenv --clear path_to_my_venv. Uso-o de tempos em tempos para garantir que não tenho nada instalado manualmente, como uma dependência antiga que não está mais presente requirements.txt.
Taylor Edmiston

1
Não sudodeve ser necessário em circunstâncias normais. O ponto principal de um ambiente virtual é que você pode manipulá-lo usando sua conta de usuário comum.
Tripleee em 13/04

Respostas:


421

É isso aí! Não há comando para excluir seu ambiente virtual. Basta desativá-lo e livrar sua aplicação de seus artefatos removendo-o recursivamente.

Observe que é o mesmo, independentemente do tipo de ambiente virtual que você está usando. virtualenv, venv, Ambiente Anaconda, pyenv, pipenvsão todos baseados no mesmo princípio aqui.


14
Vale ressaltar que, se você estiver usando o pip para instalar dependências, convém congelar o pip uma lista de dependências e manter no diretório de nível superior. Se você optar por implantar seu aplicativo posteriormente, não terá problemas.
Thomas Anthony

7
Por que isso é aceito e com tantos votos, quando a resposta correta é apenas abaixo? Talvez isto era para uma versão mais antiga do virtualenvwarpper
jsbueno

9
@jsbueno Ele estava usando virtualenv, não virtualenvwrapper (eles não são o mesmo programa). Na época, o virtualenv não fornecia interface para limpeza; você tinha que fazer isso sozinho.
Thomas Anthony

3
Se você criou um virtualenv em um repositório git (e os arquivos não são ignorados):git clean -dffx
Rex Hardin

172

Apenas para ecoar o que o @skytreader havia comentado anteriormente, rmvirtualenvé um comando fornecido por virtualenvwrapper, não virtualenv. Talvez você não tenha virtualenvwrapperinstalado?

Consulte a Referência de Comandos do VirtualEnvWrapper para obter mais detalhes.


113

Usar rmvirtualenv

Remova um ambiente, no $WORKON_HOME.

Sintaxe:

rmvirtualenv ENVNAME

Você deve usar desativar antes de remover o ambiente atual.

$ rmvirtualenv my_env

Referência: http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html


2
existe até tabsuporte de conclusão para isso!
muon

13
Note-se que esta resposta está errada como o OP nunca disse que eles tinhamvirtualenvwrapper
KevinDTimm

@KevinDTimm Sim, mas para aqueles de nós com virtualenvwrapper, essa resposta é mais correta do que certa!
KhoPhi

73

Você pode remover todas as dependências desinstalando recursivamente todas elas e excluindo o venv.

Editar incluindo comentário de Isaac Turner

source venv/bin/activate
pip freeze > requirements.txt
pip uninstall -r requirements.txt -y
deactivate
rm -r venv/

2
Eu acho que você está faltando um deactivateantes dorm -r venv/
Isaac Turner

E criticamente, faça isso apenas se você não estiver compartilhando o sistema pip! (Caso contrário, você desinstalará todos os pacotes do sistema.)
orome

2
Na verdade, não deve ser necessário separadamente pip uninstallse você estiver removendo todos os pacotes, de rmqualquer maneira. Ignorar essa etapa também evita o risco apontado no comentário anterior.
Tripleee em 13/04

33

Simplesmente remova o ambiente virtual do sistema.Não existe um comando especial para ele

rm -rf venv

1
Funciona em mim. Desative primeiro se o seu ambiente virtual ainda estiver em execução. (seu env virtual)> Desativar> rm -rf "seu env virtual"
tthreetorch

Acho que a -fbandeira não é necessária. Prefiro evitar essa bandeira quando possível.
Will

31

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

Removendo um ambiente

A remoção de um ambiente virtual é simplesmente desativada e excluída a pasta do ambiente com todo o seu conteúdo:

(ENV)$ deactivate
$ rm -r /path/to/ENV

1
@ Sébastien Não, você não deve precisar de sudoprivilégios semelhantes, a menos que também os tenha usado para configurar o ambiente em primeiro lugar, o que geralmente seria um erro.
Tripleee

O link na sua resposta está quebrado no momento.
Will

8

Se você estiver usando pyenv, é possível excluir seu ambiente virtual:

$ pyenv virtualenv-delete <name>

6

O comando a seguir funciona para mim.

rm -rf /path/to/virtualenv

mesmo aqui, existem efeitos colaterais conhecidos de fazer isso? Acabei de excluir a venvpasta
ajayramesh

Eu não tive nenhum efeito colateral
Ashiq Imran

4

Eu costumava pyenv uninstall my_virt_env_nameexcluir o ambiente viral.

Nota: Estou usando o pyenv-virtualenv instalado através do script de instalação.


Obviamente, isso só é válido se você usar pyenv.
Tripleee em 13/04

3

Se você é um usuário do Windows e está usando o conda para gerenciar o ambiente no prompt do Anaconda, pode fazer o seguinte:

Certifique-se de desativar o ambiente virtual ou reiniciar o Anaconda Prompt. Use o seguinte comando para remover o ambiente virtual:

$ conda env remove --name $MyEnvironmentName

Como alternativa, você pode ir para o

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

(esse é o caminho padrão do arquivo) e exclua a pasta manualmente.


1

se você é usuário do Windows, está em C: \ Users \ your_user_name \ Envs. Você pode excluí-lo de lá.

Tente também no prompt de comando o nome do ambiente rmvirtualenv.

Eu tentei com o prompt de comando, então ele dizia excluído, mas ainda existia. Então eu excluí-lo manualmente.


Na verdade, isso não é verdade. A localização do ambiente virtual realmente depende de onde você executa o virtualenvcomando. Por exemplo: C:\>virtualenv my_awesome_venvcriará o ambiente virtual no C:\my_awesome_venv.
Felix

Eu estava falando sobre o virtualwrapper. Meu erro
#

1

deactivateé o comando que você está procurando. Como o que já foi dito, não há comando para excluir seu ambiente virtual. Simplesmente desative-o!


Isso não responde à pergunta. Você está certo de que geralmente não precisa destruir seu virtualv, mas é sobre isso que o OP parece estar se perguntando.
tripleee

1

Se você é um usuário do Windows, também pode excluir o ambiente acessando: C:/Users/username/Anaconda3/envs Aqui, você pode ver uma lista do ambiente virtual e excluir o que não é mais necessário.


0

Você pode seguir estas etapas para remover todos os arquivos associados ao virtualenv e, em seguida, reinstalar o virtualenv novamente e usá-lo

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}

-9

etapa 1: exclua virtualenv virtualenvwrapper copie e cole o seguinte comando abaixo:

$ sudo pip uninstall virtualenv virtualenvwrapper

etapa 2: vá para .bashrc e exclua todos os virtualenv e virtualenvwrapper

terminal aberto:

$ sudo nano .bashrc

role para baixo e você verá o código abaixo e exclua-o.

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

em seguida, forneça o arquivo .bashrc:

$ source ~/.bashrc

Etapas finais: sem o terminal / shell, vá para / home e encontre .virtualenv(esqueci o nome, por isso, se o seu encontrar for semelhante .virtualenvou .venvapenas excluí-lo. Isso funcionará.


Isso parece responder a uma pergunta completamente diferente e deve vir com um grande aviso. Alguns dos conselhos também são ruins (a aquisição do seu .bashrcnovo não faz nada de útil e pode ter consequências indesejáveis).
Tripleee em 13/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.