[Fixed]-How to reset virtualenv and pip?


As far as I can tell, the only purpose of a venv is to manage dependencies.

You should be safe to just deactivate the venv, delete it, and create a new one using virtualenv venv; source venv/bin/activate.

This will give you a fresh start.


This question is old, but it got bumped to the front page, so it’s hard to discern which versions of pip and virtualenv you are using.

There are a few things we can do to straighten this, nonetheless.

  1. Exit all virtualenvs, and check your $PYTHONPATH. Make sure it’s empty; else run unset PYTHONPATH.
  2. Create a fresh virtualenv at myenv using virtualenv --no-site-packages myenv.
  3. Activate myenv and check your $PYTHONPATH again. It should only have myenv.
  4. Run pip with an absolute path, like so myenv/bin/pip freeze.
  5. If pip is not available inside your virtualenv, you may have to install it manually.

Related: virtualenv –no-site-packages and pip still finding global packages?

Finally, start a python shell using myenv/bin/python, then run:

>>> import sys
>>> sys.path

If pip can find wsgiref, then wsgiref must be in one of the paths in sys.path. Use that clue!


You can just delete your .venv file to remove all dependencies and then run python3 -m venv .venv for a fresh virtual environment.

Leave a comment