2012-06-12 21 views
252

Ho creato un ambiente con il seguente comando: virtualenv venv --distributeCome rimuovere/eliminare un virtualenv?

non riesco a toglierlo con il seguente comando: rmvirtualenv venv - Questo fa parte del virtualenvwrapper Come accennato in answer below for virtualenvwrapper

faccio un ls sul mio attuale directory e vedo ancora venv

L'unico modo posso rimuovere sembra essere: sudo rm -rf venv

Si noti che l'ambiente non è attivo. Sto usando Ubuntu 11.10. Qualche idea? Ho provato a riavviare il mio sistema senza alcun risultato.

+2

Qual è il tuo problema rimuovendolo (senza 'sudo')? E perché pensi che un riavvio possa aiutare? –

+7

Basta rimuovere la directory. – nathancahill

+0

honk: sudo rmvirtualenv venv non è un comando valido. Non sono sicuro del motivo per cui ho pensato che un riavvio avrebbe aiutato. Sono abbastanza nuovo, per essere onesto. – sudostack

risposta

223

Questo è tutto! Non esiste un comando per eliminare il tuo ambiente virtuale. Basta disattivarlo e liberare l'applicazione dei suoi artefatti rimuovendoli in modo ricorsivo.

+10

Vale la pena notare che se si utilizza pip per installare le dipendenze, si potrebbe voler bloccare un elenco di dipendenze e mantenere la directory di livello superiore. Se in seguito scegli di implementare la tua applicazione, non avrai un po 'di problemi. –

+4

Perché questo è accettato e con così tanti voti, quando la risposta corretta è appena sotto? Forse questo era per una versione precedente di virtualenvwarpper – jsbueno

+4

@jsbueno Stava usando virtualenv, non virtualenvwrapper (non sono lo stesso programma). Al momento, virtualenv non forniva alcuna interfaccia per la pulizia; dovevi farlo da solo –

130

Proprio riecheggiare quello @skytreader avevano in precedenza commentato, rmvirtualenv è un comando fornito da virtualenvwrapper, non virtualenv. Forse non hai installato virtualenvwrapper?

Vedere VirtualEnvWrapper Command Reference per ulteriori dettagli.

26

È possibile rimuovere tutte le dipendenze disinstallandole in modo ricorsivo e quindi eliminare il venv.

Modifica tra cui Isaac Turner commento

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

Penso che manchi un' deactivate' prima di 'rm -r venv /' –

+0

E * criticamente * fallo solo se non stai condividendo il 'pip' del sistema! (In caso contrario, disinstallerai tutti i pacchetti di sistema.) – orome

9

sufficiente rimuovere l'ambiente virtuale da alcun comando speciale del system.there per esso

rm -rf venv 
33

rmvirtualenv

Rimuovere un ambiente, in WORKON_HOME.

Sintassi:

rmvirtualenv ENVNAME 

È necessario utilizzare disattivato prima di rimuovere il contesto attuale.

$ rmvirtualenv my_env 

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

+1

La tua risposta è più semplice e migliore. haha –

+1

c'è persino il supporto di completamento '' tab'' per questo! – muon

+4

Si noti che questa risposta è errata in quanto l'OP non ha mai dichiarato di avere 'virtualenvwrapper' – KevinDTimm

1

se sei utente di Windows, allora è in C: \ Users \ nome_utente \ ENVS. Puoi cancellarlo da lì.

Prova anche nel prompt dei comandi nome ambiente rmvirtualenv.

Ho provato con il prompt dei comandi, quindi ha detto eliminato ma era ancora esistente. Quindi lo cancellerò manualmente.

+0

In realtà questo non è vero. La posizione dell'ambiente virtuale dipende molto da dove si esegue il comando 'virtualenv'. E.g .: 'C: \> virtualenv my_awesome_venv' creerà l'ambiente virtuale in' C: \ my_awesome_venv'. – Felix

+0

stavo parlando del virtualwrapper.Il mio errore – jahmed31

+0

avevi ragione, ho avuto lo stesso problema –

-2

così, ho fatto un po 'di google, ma nessuna delle risposte è stata soddisfacente.

Ma accidentalmente, mentre si scorrono le pagine man di pip (utility per installare pacchetti supportati da python - virtualenv è uno di questi), è stato documentato l'uso della parola chiave "uninstall" con pip, di seguito l'output esatto direttamente dal mio terminale


indresh-VBX] **$ sudo pip uninstall virtualenv** 

la directory '/home/indresh/.cache/pip/http' o la sua directory padre non è di proprietà dell'utente corrente e la cache è stata disabilitata. Si prega di verificare le autorizzazioni e il proprietario di quella directory. Se esegui pip con sudo, potresti volere il flag -H di sudo.

Uninstalling virtualenv-15.1.0: 
    /usr/bin/virtualenv 

    /usr/local/bin/virtualenv 
    /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/DESCRIPTION.rst 
    /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/INSTALLER 
    /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/METADATA 
    /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/RECORD 
    /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/WHEEL 
    /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/entry_points.txt 
    /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/metadata.json 
    /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/top_level.txt 
    /usr/local/lib/python2.7/dist-packages/virtualenv.py 
    /usr/local/lib/python2.7/dist-packages/virtualenv.pyc 
    /usr/local/lib/python2.7/dist-packages/[email protected]_support/__init__.py 
    /usr/local/lib/python2.7/dist-packages/virtualenv_support/__init__.pyc 
    /usr/local/lib/python2.7/dist-packages/virtualenv_support/argparse-1.4.0-py2.py3-none-any.whl 
    /usr/local/lib/python2.7/dist-packages/virtualenv_support/pip-9.0.1-py2.py3-none-any.whl 
    /usr/local/lib/python2.7/dist-packages/virtualenv_support/setuptools-28.8.0-py2.py3-none-any.whl 
    /usr/local/lib/python2.7/dist-packages/virtualenv_support/wheel-0.29.0-py2.py3-none-any.whl 
Proceed (y/n)? y 
    Successfully uninstalled virtualenv-15.1.0 
The directory '/home/indresh/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
-------------------------------- 
+0

La domanda dell'OP è come rimuovere un virtualenv, non come disinstallare il pacchetto virtualenv. – snakecharmerb

-1

deactivate è il comando che stai cercando. Come quello che è già stato detto, non esiste un comando per eliminare il tuo ambiente virtuale. Basta disattivarlo!

1

Ho utilizzato pyenv uninstall my_virt_env_name per eliminare l'ambiente virual.

Nota: sto usando pyenv-virtualenv installato tramite lo script di installazione.

0

dal documento ufficiale di virtualenv https://virtualenv.pypa.io/en/stable/userguide/

Rimozione di un ambiente

Rimozione di un ambiente virtuale è semplicemente fatto disattivando e sopprimendo la cartella ambiente con tutti i suoi contenuti:

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