Як видалити / видалити virtualenv?


483

Я створив середовище за допомогою наступної команди: virtualenv venv --distribute

Я не можу видалити його за допомогою наступної команди: rmvirtualenv venv- Це частина virtualenvwrapper, як зазначено у відповіді нижче для virtualenvwrapper

Я роблю в lsмоєму поточному каталозі, і я все ще бачу venv

Єдиний спосіб, як я можу її видалити: sudo rm -rf venv

Зауважте, що середовище не активне. Я запускаю Ubuntu 11.10. Будь-які ідеї? Я спробував перезавантажити свою систему безрезультатно.


13
Просто видаліть каталог.
nathancahill

honk: sudo rmvirtualenv venv не є дійсною командою. Не впевнений, чому я думав, що перезавантаження допоможе. Я досить новий, якщо чесно.
sudostack

24
Зауважте, що rmvirtualenvпостачається з virtualenvwrapper. Вам потрібен той встановлений, щоб він працював.
skytreader

4
Зверніть увагу , що ви можете також видалити всі встановлені пакети, але зберегти віртуальні оточення себе , якщо ви virtualenvwrapper встановили: $ virtualenv --clear path_to_my_venv. Я використовую це час від часу, щоб переконатися, що у мене нічого не встановлено вручну, як, наприклад, колишня залежність більше не входить requirements.txt.
Тейлор Едмістон

1
За sudoзвичайних обставин це не повинно бути необхідним. Вся суть віртуальної обстановки полягає в тому, що ви можете маніпулювати нею, використовуючи звичайний обліковий запис користувача.
трійка

Відповіді:


420

Це воно! Немає команди для видалення віртуального середовища. Просто деактивуйте його та позбудьтесь застосування своїх артефактів, рекурсивно видаляючи його.

Зауважте, що це те саме, незалежно від того, яке віртуальне середовище ви використовуєте. virtualenv, venv, Довкілля Anaconda, pyenv, pipenvвсе вони засновані той же самий принцип тут.


14
Варто зауважити, що якщо ви використовуєте pip для встановлення залежностей, можливо, вам захочеться піп заморозити список залежностей та зберегти у каталозі верхнього рівня. Якщо ви згодом вирішите розгорнути свою програму, у вас не виникне трохи проблем.
Томас Ентоні

7
Чому це прийнято і з таким голосом, коли правильна відповідь лише нижче? Можливо, це було для старої версії virtualenvwarpper
jsbueno

9
@jsbueno Він використовував virtualenv, а не virtualenvwrapper (це не та сама програма). У той час virtualenv не забезпечував інтерфейсу для очищення; ви повинні були зробити це самостійно.
Томас Ентоні

3
Якщо ви створили virtualenv в git repo (а файли не ігноруються):git clean -dffx
Рекс Хардін


113

Використовуйте rmvirtualenv

Видаліть середовище, в $WORKON_HOME.

Синтаксис:

rmvirtualenv ENVNAME

Перш ніж видалити поточне середовище, ви повинні використовувати дезактивацію.

$ rmvirtualenv my_env

Довідка: http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html


2
для цього є навіть tabпідтримка завершення!
muon

13
Зауважте, що ця відповідь помилкова, оскільки ОП ніколи не говорила, що вони малиvirtualenvwrapper
KevinDTimm

@KevinDTimm Так, але для тих, хто з virtualenvwrapper, ця відповідь - "правильніше", ніж правильно!
Хофі

73

Ви можете усунути всі залежності, рекурсивно видаливши їх, а потім видаливши venv.

Змінити, включаючи коментар Ісаака Тернера

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

2
Я думаю, ти пропускаєш deactivateпередrm -r venv/
Ісаак Тернер

І критично робіть це, лише якщо ви не ділитесь системою pip! (Інакше ви видалите всі ваші системні пакети.)
orome

1
Насправді окремо не повинно виникати потреби, pip uninstallякщо ви все-таки видаляєте всі пакунки rm. Пропуск цього градуса дозволяє уникнути ризику, зазначеного в попередньому коментарі.
трійка

33

Просто видаліть з системи віртуальне середовище. Спеціальної команди для цього немає

rm -rf venv

1
Працює на мене. Переконайтесь, що спочатку вимкнено, якщо ваше віртуальне середовище все ще працює. (your virtual env)> відключити> rm -rf "your virtual env"
tthreetorch

30

з офіційного документа virtualenv https://virtualenv.pypa.io/en/stable/userguide/

Видалення середовища

Видалення віртуального середовища робиться просто дезактивацією та видаленням папки оточення з усім його вмістом:

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

1
@ Sébastien Ні, вам не потрібні sudoчи подібні привілеї, якщо ви також не використовували їх для налаштування середовища в першу чергу, що, як правило, є помилкою.
трійчатка



4

Раніше я pyenv uninstall my_virt_env_nameвидаляв вірусне середовище.

Примітка. Я використовую pyenv-virtualenv, встановлений через сценарій встановлення.


Це, очевидно, справедливо лише в тому випадку, якщо ви використовуєте pyenv.
трійка

3

Якщо ви є користувачем Windows і ви використовуєте conda для управління оточенням у запиті Anaconda, ви можете зробити наступне:

Переконайтеся, що ви відключили віртуальне середовище або перезапустите Anaconda-підказку. Для видалення віртуального середовища використовуйте таку команду:

$ conda env remove --name $MyEnvironmentName

Можна також перейти до

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

(це шлях до файлу за замовчуванням) та видаліть папку вручну.


1

якщо ви користувач Windows, то це в C: \ Users \ your_user_name \ Envs. Ви можете видалити його звідти.

Також спробуйте в командному рядку ім'я середовища rmvirtualenv.

Я спробував у командному рядку, тому він сказав видалено, але він все ще існував. Тож я вручну видаляю його.


Насправді це неправда. Розташування віртуального середовища дійсно залежить від того, де ви виконуєте virtualenvкоманду. Напр .: C:\>virtualenv my_awesome_venvстворить віртуальне середовище в C:\my_awesome_venv.
Фелікс

я говорив про віртуальну обгортку. Моя помилка
jahmed31

1

deactivateце команда, яку ви шукаєте. Як і те, що вже було сказано, немає команди для видалення віртуального середовища. Просто деактивуйте його!


Це не відповідає на запитання. Ви впевнені, що зазвичай не потрібно руйнувати свої віртуоли, але, як видається, про це питають ОП.
трійка

1

Якщо ви користувач Windows, ви можете також видалити середовище, перейшовши до: C:/Users/username/Anaconda3/envs Тут ви можете побачити список віртуального середовища та видалити той, який вам більше не потрібен.


0

Ви можете виконати ці дії, щоб видалити всі файли, пов’язані з virtualenv, а потім знову встановити virtualenv та використовувати його

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: видаліть virtualenv virtualenvwrapper за допомогою копіювання та вставте наступну команду нижче:

$ sudo pip uninstall virtualenv virtualenvwrapper

крок 2: перейдіть до .bashrc та видаліть усі virtualenv та virtualenvwrapper

відкритий термінал:

$ sudo nano .bashrc

прокрутіть вниз, і ви побачите код нижче, а потім видаліть його.

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

далі, джерело .bashrc:

$ source ~/.bashrc

ЗАКЛЮЧНІ кроки: без терміналу / оболонки перейдіть до / додому та знайдіть .virtualenv(я забув ім'я, тому якщо ваша знахідка схожа на .virtualenvабо .venvпросто видаліть її. Це спрацює.


Здається, це відповідає на зовсім інше запитання, і воно повинно мати величезне попередження. Деякі поради є також поганими (джерело пошуку .bashrcзнову не робить нічого корисного, і це може спричинити небажані наслідки).
трійчатка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.