Virtualenv'i nasıl silebilir / silebilirim?


485

Aşağıdaki komutla bir ortam oluşturdum: virtualenv venv --distribute

Aşağıdaki komutla kaldıramıyorum: rmvirtualenv venv- Bu, virtualenvwrapper için aşağıdaki yanıtta belirtildiği gibi virtualenvwrapper'ın bir parçasıdır

Bir do lsbenim şimdiki dizinde ve hala venv bakınız

Ben kaldırabilirsiniz tek yolu gibi görünüyor: sudo rm -rf venv

Ortamın aktif olmadığını unutmayın. Ubuntu 11.10 kullanıyorum. Herhangi bir fikir? Sistemimi boşuna yeniden başlatmayı denedim.


13
Sadece dizini kaldırın.
nathancahill

honk: sudo rmvirtualenv venv geçerli bir komut değil. Yeniden başlatmanın neden yardımcı olacağını düşündüğümden emin değilim. Dürüst olmak gerekirse oldukça yeniyim.
sudostack

24
Not rmvirtualenvvirtualenvwrapper ile geliyor. Çalışması için bunun yüklü olması gerekir.
skytreader

4
Aynı zamanda tüm halihazırda kurulu paketleri kaldırmak, ancak virtualenvwrapper yüklediyseniz sanal ortamda kendini tutabilir Not: $ virtualenv --clear path_to_my_venv. Bunu, zaman zaman eski bir bağımlılık gibi manuel olarak yüklü bir şey olmadığından emin olmak için kullanıyorum requirements.txt.
Taylor Edmiston

1
sudoNormal koşullar altında, gerekli olmamalıdır. Sanal ortamın asıl amacı, normal kullanıcı hesabınızı kullanarak onu değiştirebilmenizdir.
üçlü

Yanıtlar:


421

Bu kadar! Sanal ortamınızı silmek için herhangi bir komut yoktur. Basitçe devre dışı bırakın ve yinelemeli olarak kaldırarak uygulamalarınızı ortadan kaldırın.

Ne tür bir sanal ortam kullandığınızdan bağımsız olarak bunun aynı olduğunu unutmayın. virtualenv, venv, Anaconda çevre, pyenv, pipenvhepsi burada aynı prensibi esas alınmıştır.


14
Bağımlılıkları yüklemek için pip kullanıyorsanız, bir bağımlılık listesini pip dondurup en üst düzey dizinde tutmak isteyebilirsiniz. Daha sonra uygulamanızı dağıtmayı seçerseniz, biraz sorun yaşamayacaksınız.
Thomas Anthony

7
Doğru cevap sadece köreldiğinde bu neden kabul edilir ve bu kadar oyla? Belki bu virtualenvwarpper'ın eski bir sürümü
içindi

9
@jsbueno Virtualenvwrapper değil, virtualenv kullanıyordu (aynı program değiller). O zaman, virtualenv temizlik için hiçbir arayüz sağlamıyordu; kendin yapmak zorundaydın.
Thomas Anthony

3
Git deposunda bir sanal yayın oluşturduysanız (ve dosyalar göz ardı edilmezse):git clean -dffx
Rex Hardin

172

Sadece @skytreader'ın daha önce yorumladığı şeyi yankılamak, rmvirtualenvtarafından sağlanan bir komuttur virtualenvwrapper, değil virtualenv. Belki virtualenvwrapperyüklemediniz?

Daha fazla bilgi için VirtualEnvWrapper Komut Referansı'na bakın.


113

kullanım rmvirtualenv

İçindeki bir ortamı kaldırın $WORKON_HOME.

Sözdizimi:

rmvirtualenv ENVNAME

Geçerli ortamı kaldırmadan önce devre dışı bırak özelliğini kullanmalısınız.

$ rmvirtualenv my_env

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


2
bunun için tabtamamlama desteği bile var !
muon

13
OP'nin sahip olduklarını asla söylemediği için bu cevabın yanlış olduğunu unutmayınvirtualenvwrapper
KevinDTimm

@KevinDTimm Evet, ancak virtualenvwrapper olanlarımız için bu cevap doğrudan 'daha righter'!
KhoPhi

73

Tüm bağımlılıkları özyinelemeli olarak kaldırarak ve ardından vili silerek kaldırabilirsiniz.

Isaac Turner yorumları dahil düzenleme

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

2
Ben daha deactivateönce eksik olduğunu düşünüyorumrm -r venv/
Isaac Turner

Ve kritik olarak bunu sadece sistemin paylaşımını yapmıyorsanız yapın pip! (Aksi takdirde tüm sistem paketlerinizi
kaldıracaksınız

1
Aslında pip uninstall, tüm paketleri rmyine de kaldırıyorsanız ayrı ayrı gerek yoktur . Bu adımı atlamak, önceki yorumda belirtilen riskten kaçınır.
üçlü

33

Sanal ortamı sistemden kaldırmanız yeterlidir.

rm -rf venv

1
Bana çalışıyor. Sanal ortamınız hala çalışıyorsa öncelikle devre dışı bıraktığınızdan emin olun. (sanal env'niz)> devre dışı
bırak

30

virtualenv'in resmi belgesinden https://virtualenv.pypa.io/en/stable/userguide/

Bir Ortamı Kaldırma

Sanal ortamın kaldırılması, ortamın devre dışı bırakılması ve ortam klasörünün tüm içeriğiyle silinmesi ile yapılır:

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

1
@ Sébastien Hayır, sudoçevreyi ilk etapta kurmak için kullanmadığınız sürece veya buna benzer ayrıcalıklara ihtiyacınız olmamalıdır , ki bu genellikle bir hata olur.
üçlü


6

Aşağıdaki komut benim için çalışıyor.

rm -rf /path/to/virtualenv

Burada aynı, bilinen herhangi bir yan etkisi var mı? Sadece venvklasörü
siliyorum

Hiçbir yan etki elde etmedim
Ashiq Imran

4

Kullandığım pyenv uninstall my_virt_env_namevirual çevreyi silmek için.

Not: Kurulum komut dosyası aracılığıyla yüklenmiş pyenv-virtualenv kullanıyorum.


Bu sadece kullanırsanız geçerlidir pyenv.
üçlü

3

Windows kullanıcısıysanız ve Anaconda isteminde ortamı yönetmek için conda kullanıyorsanız, aşağıdakileri yapabilirsiniz:

Sanal ortamı devre dışı bıraktığınızdan veya Anaconda İstemi'ni yeniden başlattığınızdan emin olun. Sanal ortamı kaldırmak için aşağıdaki komutu kullanın:

$ conda env remove --name $MyEnvironmentName

Alternatif olarak,

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

(varsayılan dosya yolu budur) ve klasörü manuel olarak silin.


1

Windows kullanıcısıysanız, C: \ Users \ kullanıcı_adı_adı \ Envs dizinindedir. Oradan silebilirsiniz.

Ayrıca komut istemi rmvirtualenv ortam adını da deneyin.

Komut istemi ile denedim, bu yüzden silindi dedi ama hala vardı. Bu yüzden elle silerim.


Aslında bu doğru değil. Sanal ortamın konumu gerçekten virtualenvkomutu yürüttüğünüz yere bağlıdır . Örn: C:\>virtualenv my_awesome_venviçindeki sanal ortamı yaratacaktır C:\my_awesome_venv.
Felix

VirtualWrapper hakkında konuşuyordum. Benim hatam
jahmed31

1

deactivatearadığınız komuttur. Daha önce söylenenler gibi, sanal ortamınızı silmek için herhangi bir komut yoktur. Sadece devre dışı bırakın!


Bu soruya cevap vermiyor. Virtualenv'inizi yok etmeniz gerekmediği konusunda haklısınız, ancak OP'nin sorduğu şey bu.
üçlü

1

Windows kullanıcısıysanız, şu adrese giderek ortamı silebilirsiniz: C:/Users/username/Anaconda3/envs Burada bir sanal ortam listesi görebilir ve artık ihtiyacınız olmayanı silebilirsiniz.


0

Virtualenv ile ilişkili tüm dosyaları kaldırmak ve ardından virtualenv'i yeniden yükleyip kullanarak bu adımları uygulayabilirsiniz.

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

1. adım: aşağıdaki komutu kopyalayıp yapıştırarak virtualenv virtualenvwrapper'ı silin:

$ sudo pip uninstall virtualenv virtualenvwrapper

2. adım: .bashrc adresine gidin ve tüm virtualenv ve virtualenvwrapper öğelerini silin

açık terminal:

$ sudo nano .bashrc

aşağı kaydırın ve aşağıdaki kodu göreceksiniz, ardından silin.

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

sonra, .bashrc kaynağını:

$ source ~/.bashrc

NİHAİ adımlar: terminal / kabuk olmadan / home'a ​​gidin ve bul .virtualenv(Bu yüzden benzer bulursanız .virtualenvveya .venvsadece sildiyseniz adı unuttum .


Bu tamamen farklı bir soruyu cevaplıyor gibi görünüyor ve büyük bir uyarı ile gelmelidir. Tavsiyelerin bazıları da zayıftır ( .bashrctekrar kaynak sağlamak yararlı bir şey yapmaz ve istenmeyen sonuçlara yol açabilir).
üçlü
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.