remove virtual environment created with venv in python3

Question:

How can I delete a virtual environement created with

python3 -m venv <name>

Can I just remove the directory?

This seems like a question googling should easily answer, but I only found answers for deleting environments created with virtualenv or pyvenv.

Asked By: McLawrence

||

Answers:

Yes, delete the directory. it’s where executables for the venv and modules and libraries and entire other stuff for venvs is kept.

Answered By: gonczor

If your environment is active, you should deactivate it first. Not sure if not deactivating will cause any problems, but that’s the right way to do it. Once you deactivate, you can simply delete the virtual environment directory.

To deactivate an active environment, simply execute the ‘deactivate’ bash command.

Answered By: Tushar Vazirani

To delete a environment in WINDOWS. Make sure you are in activated environment:

$ deactivate

This will deactivate your current environment.
Now you can go to the directory where your folder or folder is present. Delete it manually. DONE!

To create a new environment , Simply from bash:

$ python3 -m venv venv

To activate it:

$ source venv/bin/activate
Answered By: Dhrumil Panchal

In your venv project folder created using python3 -m venv . or whatever, run this to remove the venv files:

rm -r bin include lib lib64 pyvenv.cfg share

If you’re still in the venv by using source bin/activate, run deactivate first.

However, according to this page, one should always use python3 -m venv .venv so the venv files are neatly contained in a single .venv folder in your project root. That way the Visual Studio Code Python extension can find/use it as well.

Answered By: Cees Timmerman

There is no built-in way to remove a virtualenv created with python3 -m venv <name>. If you created a python3.6 virtualenv in, for instance, /usr/local then you can remove it with an Ansible playbook like:

---
- name: Remove virtualenv
  hosts: all

  vars:
    venv: /usr/local

    virtualenv_files:
      - pyvenv.cfg
      - bin/activate
      - bin/activate.csh
      - bin/activate.fish
      - bin/easy_install
      - bin/easy_install-3.6
      - bin/pip
      - bin/pip3
      - bin/pip3.6
      - bin/python
      - bin/python3
      - bin/python3.6
      - bin/wheel
      - lib/python3.6/site-packages

  tasks:

  - name: Freeze virtualenv
    shell: |
      set -e
      source "{{ venv }}/bin/activate"
      pip3 freeze > /tmp/frozen
    args:
      creates: /tmp/frozen
    register: frozen
    failed_when: false

  - name: Remove site-packages from virtualenv
    when: frozen.rc == '0'
    become: true
    shell: |
      set -e
      source {{ venv }}/bin/activate
      pip3 uninstall -y -r /tmp/frozen

  - name: Remove virtualenv_files
    become: true
    file:
      path: "{{ venv }}/{{ item }}"
      state: absent
    loop: "{{ virtualenv_files }}"

Answered By: bbaassssiiee
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.