I'm trying to wrap my head around how to effectively use virtualenv. I made a test environment called "quandl". In this environment I imported the Quandl package and am playing around with some examples from their site.

While in my virtual environment, when I type ls I see my home directory and all its sub-folders. Does the test environment create its own copies of each of those folders? If that's the case, then with every virtual environment I create from here on out I will see different folders every time I load a new environment. Not necessarily a bad thing, I just want to understand how this all works.


No, a virtual environment does not clone the directories in $HOME. A virtual environment is an isolated project-specific environment for invoking the Python interpreter and installing Python packages. This allows you to isolate the Python dependencies of multiple projects from each other.

  • But then if I install a certain version of a package that I need for a specific project, where does this package get installed to? And how would another virtual environment know to ignore this package? – whatwhatwhat Aug 14 '16 at 5:27
  • That is what activation (and deactivation) of a virtual environment does: to specify the virtual environment that you want to use (activate) and installation will then be specific to that activated virtual environment. – edwinksl Aug 14 '16 at 5:28
  • Is there any way I can see the different virtual environments that I am creating? Like, do they get stored somewhere? – whatwhatwhat Aug 14 '16 at 5:31
  • 1
    You can do it by giving the all virtual environments the same name (common ones I see are venv and env) and then search for these names. You can also check out virtualenvwrapper which provides a way to manage multiple virtual environments. – edwinksl Aug 14 '16 at 5:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.