Jak usunąć / usunąć virtualenv?


483

Utworzyłem środowisko za pomocą następującego polecenia: virtualenv venv --distribute

Nie mogę go usunąć za pomocą następującego polecenia: rmvirtualenv venv- Jest to część virtualenvwrapper, jak wspomniano w odpowiedzi poniżej dla virtualenvwrapper

Robię lsw moim bieżącym katalogu i nadal widzę venv

Jedynym sposobem na usunięcie tego wydaje się: sudo rm -rf venv

Pamiętaj, że środowisko nie jest aktywne. Używam Ubuntu 11.10. Jakieś pomysły? Próbowałem zrestartować system bezskutecznie.


13
Po prostu usuń katalog.
nathancahill

honk: sudo rmvirtualenv venv nie jest prawidłowym poleceniem. Nie jestem pewien, dlaczego myślałem, że ponowne uruchomienie może pomóc. Jestem całkiem nowy, szczerze mówiąc.
sudostack

24
Uwaga, która rmvirtualenvpochodzi z virtualenvwrapper. Musisz go zainstalować, aby działał.
skytreader,

4
Należy pamiętać, że można również usunąć wszystkie aktualnie zainstalowanych pakietów, ale się zachować środowisku wirtualnym jeśli virtualenvwrapper zainstalowane: $ virtualenv --clear path_to_my_venv. Używam tego od czasu do czasu, aby upewnić się, że nie mam niczego zainstalowanego ręcznie, jak na przykład starej zależności requirements.txt.
Taylor Edmiston,

1
Nie sudopowinno to być konieczne w normalnych okolicznościach. Istotą wirtualnego środowiska jest to, że można nim manipulować przy użyciu zwykłego konta użytkownika.
tripleee

Odpowiedzi:


420

Otóż ​​to! Nie ma polecenia do usunięcia środowiska wirtualnego. Po prostu go dezaktywuj i pozbądź się aplikacji z artefaktów, usuwając go rekurencyjnie.

Pamiętaj, że jest tak samo niezależnie od używanego środowiska wirtualnego. virtualenv, venv, Środowisko Anakonda pyenv, pipenvsą oparte na tej samej zasadzie tutaj.


14
Warto zauważyć, że jeśli używasz pipa do instalowania zależności, możesz chcieć zamrozić listę zależności i przechowywać w katalogu najwyższego poziomu. Jeśli później zdecydujesz się wdrożyć aplikację, nie będziesz miał kłopotów.
Thomas Anthony

7
Dlaczego jest to akceptowane i przy tak dużej liczbie głosów, kiedy poprawna odpowiedź jest tylko poniżej? Być może
dotyczyło

9
@jsbueno Używał virtualenv, a nie virtualenvwrapper (to nie jest ten sam program). W tym czasie virtualenv nie zapewniał interfejsu do czyszczenia; musiałeś to zrobić sam.
Thomas Anthony

3
Jeśli utworzyłeś virtualenv w repozytorium git (a pliki nie są ignorowane):git clean -dffx
Rex Hardin


113

Posługiwać się rmvirtualenv

Usuń środowisko w $WORKON_HOME.

Składnia:

rmvirtualenv ENVNAME

Musisz dezaktywować przed usunięciem bieżącego środowiska.

$ rmvirtualenv my_env

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


2
istnieje nawet tabwsparcie dla ukończenia tego!
muon

13
Zauważ, że ta odpowiedź jest błędna, ponieważ OP nigdy nie powiedział, że takvirtualenvwrapper
KevinDTimm

@KevinDTimm Tak, ale dla tych z nas, którzy mają virtualenvwrapper, ta odpowiedź jest „bardziej rygorystyczna” niż słuszna!
KhoPhi

73

Możesz usunąć wszystkie zależności, rekurencyjnie odinstalowując je wszystkie, a następnie usuwając venv.

Edytuj, w tym komentarz Izaaka Turnera

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

2
Myślę, że tęsknisz deactivateprzedrm -r venv/
Isaac Turner,

I krytycznie rób to tylko wtedy, gdy nie udostępniasz systemu pip! (W przeciwnym razie odinstalujesz wszystkie pakiety systemowe.)
orome

1
W rzeczywistości nie powinno być potrzeby oddzielnego pip uninstallusuwania wszystkich pakietów rm. Pominięcie tego kroku pozwala także uniknąć ryzyka wskazanego w poprzednim komentarzu.
tripleee

33

Po prostu usuń środowisko wirtualne z systemu, nie ma dla niego specjalnego polecenia

rm -rf venv

1
Działa na mnie. Wyłącz najpierw, jeśli środowisko wirtualne jest nadal uruchomione. (your virtual env)> dezaktywuj> rm -rf "your virtual env"
tthreetorch

30

z oficjalnego dokumentu virtualenv https://virtualenv.pypa.io/en/stable/userguide/

Usuwanie środowiska

Usunięcie środowiska wirtualnego odbywa się po prostu przez jego dezaktywację i usunięcie folderu środowiska wraz z całą zawartością:

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

1
@ Sébastien Nie, nie powinieneś potrzebować sudoani podobnych uprawnień, chyba że użyjesz ich również do skonfigurowania środowiska, co zwykle byłoby błędem.
tripleee


6

Następujące polecenie działa dla mnie.

rm -rf /path/to/virtualenv

to samo tutaj, jakieś znane skutki uboczne robienia tego? Właśnie venv
usuwam

Nie dostałem żadnych skutków ubocznych
Ashiq Imran

4

Kiedyś pyenv uninstall my_virt_env_name, aby usunąć virual środowiska.

Uwaga: używam pyenv-virtualenv zainstalowanego za pomocą skryptu instalacyjnego.


Jest to oczywiście ważne tylko wtedy, gdy używasz pyenv.
tripleee

3

Jeśli jesteś użytkownikiem systemu Windows i używasz conda do zarządzania środowiskiem w pytaniu Anaconda, możesz wykonać następujące czynności:

Pamiętaj, aby dezaktywować środowisko wirtualne lub ponownie uruchomić Anaconda Monituj. Użyj następującego polecenia, aby usunąć środowisko wirtualne:

$ conda env remove --name $MyEnvironmentName

Alternatywnie możesz przejść do

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

(jest to domyślna ścieżka pliku) i usuń folder ręcznie.


1

jeśli jesteś użytkownikiem systemu Windows, to jest w C: \ Users \ twoja_nazwa_użytkownika \ Envs. Możesz go stamtąd usunąć.

Spróbuj także w wierszu polecenia nazwy środowiska rmvirtualenv.

Próbowałem z wiersza polecenia, więc było napisane usunięte, ale nadal istniało. Więc ręcznie to usunęłam.


W rzeczywistości to nie jest prawda. Lokalizacja środowiska wirtualnego naprawdę zależy od miejsca wykonania virtualenvpolecenia. Np .: C:\>virtualenv my_awesome_venvutworzy środowisko wirtualne w C:\my_awesome_venv.
Felix

mówiłem o wirtualnym owinięciu. Mój błąd
jahmed31

1

deactivateto polecenie, którego szukasz. Jak już powiedziano, nie ma polecenia do usunięcia środowiska wirtualnego. Po prostu go dezaktywuj!


To nie odpowiada na pytanie. Masz rację, że zwykle nie musisz niszczyć swojej wirtualnej gry, ale o to chyba prosi OP.
tripleee

1

Jeśli jesteś użytkownikiem systemu Windows, możesz również usunąć środowisko, przechodząc do: C:/Users/username/Anaconda3/envs Tutaj możesz zobaczyć listę środowiska wirtualnego i usunąć to, czego już nie potrzebujesz.


0

Możesz wykonać te kroki, aby usunąć wszystkie pliki związane z virtualenv, a następnie ponownie zainstalować virtualenv i używać go

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

krok 1: usuń virtualenv virtualenvwrapper, kopiując i wklej następujące polecenie poniżej:

$ sudo pip uninstall virtualenv virtualenvwrapper

krok 2: przejdź do .bashrc i usuń wszystkie virtualenv i virtualenvwrapper

terminal otwarty:

$ sudo nano .bashrc

przewiń w dół, a zobaczysz poniższy kod, a następnie go usuń.

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

następnie źródło .bashrc:

$ source ~/.bashrc

KOŃCOWE kroki: bez terminala / powłoki przejdź do / home i znajdź .virtualenv(zapomniałem nazwy, więc jeśli twoje znalezisko jest podobne .virtualenvlub .venvpo prostu ją usuń. To zadziała.


To wydaje się odpowiadać na zupełnie inne pytanie i powinno przynieść ogromne ostrzeżenie. Niektóre porady są również słabe (pozyskiwanie .bashrcponownie nie robi nic pożytecznego i może mieć niepożądane skutki).
tripleee
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.