Join us and get access to hundreds of tutorials and a community of expert Pythonistas.

Unlock This Lesson

This lesson is for members only. Join us and get access to hundreds of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Python Virtual Environments Recap

Give Feedback

This lesson is a recap of the entire course, it covers the benefits of using virtual environments and best practices to follow when using them in your projects.

Comments & Discussion

Robert T on March 16, 2019

Good stuff, Dan. I now understand how it works in a Linux OS, it seems so clean compared to Windows with Pycharm. Everything you did was outside of the code editor. I’d really like to see how to accomplish the same thing under Windows and Pycharm.

Douglas Fabretti on April 10, 2019

Nicely explained, short and concise! Thank you very much for sharing this series with us Dan.

Andres Salgado on April 19, 2019

Thank you Dan!! Great course.

Do you care to elaborate on the difference between virtualenv and venv? I understand that based on a stackoverflow entry (stackoverflow.com/questions/41573587/what-is-the-difference-between-venv-pyvenv-pyenv-virtualenv-virtualenvwrappe) virtualenv does not contain all standard libraries. Is that correct?

Dan Bader RP Team on April 19, 2019

@Andres: Thanks! Basically virtualenv and venv do the same thing. You’ll get a fully self-contained Python environment including the full standard library.

The main difference is that venv is included with Python 3 out of the box and not available on Python 2.

So personally I use venv for all Python 3 projects, and I use virtualenv as a fallback for Python 2 projects where venv isn’t available.

Hope that helps you out :)

Anonymous on April 24, 2019

I am working with a Python 2 application and the inconsistency that venv is only available on Python 3 tripped me up. It wasn’t clear to me that venv wasn’t available for Python 2 or why I wasn’t able to install it. I wish that I had seen your most recent comment earlier. Otherwise, the course was direct and clear.

charliem22 on May 28, 2019

Great job! I’m just staring my first ‘big’ project and needed to understand venv machinary. This tutorial was exactly what I needed. Thanks Dan!!! –charlie

Dan Bader RP Team on May 29, 2019

@charliem22: Awesome, glad to hear it!! :)

Koert on June 23, 2019

How difficult can it be to work with virtual environments? Never got it but thanks to your videos I finally understood it! Thanks again.

Abby Jones on June 27, 2019

This is awesome.

DiscreteLoner on Aug. 8, 2019

Easy to follow up.

Rob Black on Aug. 13, 2019

Excellent micro course on virtual environments - exactly the size and pace that I needed. I viewed this course as a side-bar to the tutorial I’m reading now: realpython.com/flask-connexion-rest-api/. Thanks!

UBBA on Aug. 27, 2019

Great video. I am working in VSCode in Windows 10. Couple things I noticed:

  • Which equals where in windows.
  • Did not know that tree worked in windows command prompt
  • VSCode will find your virtual environment and activate it when chosen.
  • You can pip install right from the VSCode terminal for the venv.

Ravi on Dec. 6, 2019

Hi Dan,

In the supporting material, you have mentioned about pyenv, what I understood is we can either use virtualenv or pyenv to maintain dependancies and need not use both of them. Is my understanding correct?

Dan Bader RP Team on Dec. 6, 2019

@Ravi: I actually use a combination of pyenv and venv in my personal workflow.

I use pyenv to install different versions of the Python interpreter on my machine that I might need. So let’s say I have Python 3.7.3 installed, and I also want 3.8.0 for another project. I’ll install these Python versions with pyenv.

And then each individual project still gets a local virtual environment via venv so I can manage installed packages independently.

You can find more info on pyenv in this tutorial: realpython.com/intro-to-pyenv/

Rory on Dec. 11, 2019

Dan, thanks to you and your team for these tutorials. #1 Takeaway? Being able to segregate my code. Still in the learning stage and all my exercise code is in a “Scripts” folder. This will be nice when I start focusing on larger projects. So much to learn! So little time! Thanks again!

Become a Member to join the conversation.