
Discover Python virtual environments, their critical role, and best practices for isolating dependencies, uninstalling packages, and managing multiple versions of the same package.
Access course resources by opening the ai assistant and course content banner, then use the resources tab under videos to locate relevant folders shared across courses.
Learn installation for VS Code, Python, and WSL2 across Windows, Mac, and Ubuntu, with OS-specific videos to help you configure your setup properly.
Install WSL2, the Windows subsystem for Linux, to run a Linux terminal inside Windows for development, using a simple WSL --install process.
Install python on the WSL terminal by updating, upgrading, and installing python 3, python3-pip, and python3-venv (virtual environments).
Install and configure VS Code on Windows, enable WSL integration, install the WSL extension, set preferences to reopen in WSL, and create and open a work folder from the terminal.
Discover how to install and configure Python in VS Code on Windows with WSL, install the Microsoft Python extension, write a hello world program, and stay in the tilde directory.
Learn to install Python on Mac using Homebrew, including copying the brew command, running it in Terminal, and verifying Python version.
install visual studio code on a Mac by visiting code.visualstudio.com, downloading the macOS installer, and opening the application to launch vscode as your ide.
Install the Python extension for VS Code, open a folder, create test.py, write print('hello world'), save, and run to verify the hello world program prints.
Install python on ubuntu by updating and upgrading with apt-get, then install python3, python3-venv, and python3-pip. Verify the installation by running python3 --version.
Install Visual Studio Code on Ubuntu by downloading the Linux package from code.visualstudio.com, then install via the terminal and launch from show apps to start coding.
Hook up Python with VS Code on Ubuntu by installing the Python extension, creating hello world.py, saving, and running the script to print hello world.
Explore the Python ecosystem and the role of built-ins, packages, and modules, with a practical example of importing time and building a basic progress bar.
Importing brings a module into the global namespace, letting you access its functions like time.sleep. After import, the module name appears in your namespace, exposing the package's code.
Learn how to import selectively using from time import sleep to reduce code, while understanding the trade-offs of namespace changes and potential ambiguity in large codebases.
Explore aliasing imports for clarity in Python, using examples like from time import sleep as wait_func and import time as T, plus common np for NumPy.
Do not use import *; importing everything from a module pollutes the namespace and hides where functions come from. Use explicit imports like from time import sleep or import time.
Learn how to install external Python packages with pip from PyPI, and understand how Python virtual environments manage these installs. Explore pypi.org to find packages like tqdm.
Understand how global installs can disrupt your operating system by overwriting core packages, and see how Python virtual environments create isolated spaces to safely manage dependencies.
Learn two ways to create a Python virtual environment: using a Linux terminal (Mac terminal, Ubuntu terminal, or Windows WSL) or via Visual Studio Code.
Open the terminal and navigate to your project directory. Create a python virtual environment with python3 -m venv, then activate with source env/bin/activate and deactivate when done.
Activate your virtual environment, install tqdm with pip, and verify the package locally vs globally; upgrade pip, list installed packages, and import tqdm to confirm success.
Learn to restore a broken installation by removing the environment with rm -rf environment, creating a new venv, activating it, and reinstalling TQDM.
Learn how to manage multiple Python virtual environments to isolate project dependencies, activate different envs, and install conflicting package versions like tqdm 4.67.0 vs 4.67.1.
Manage multiple Python versions via virtual environments, activate different interpreters like Python 3.14 and PyPy to support diverse project requirements in industry.
Explore using the tqdm progress bar in the terminal by creating a virtual environment, installing tqdm, and replacing range with trange to display a progress bar in Python.
Learn to create a Python virtual environment in VS Code by choosing the VM option over conda, opening a folder, selecting an interpreter, and avoiding the Microsoft Store entry.
Install tqdm into a Python virtual environment in VS Code by selecting .vm interpreter and running python -m pip install tqdm from PyPI. Verify by listing packages and importing tqdm.
Learn to refresh a Python virtual environment in VS Code by uninstalling TQ-DM, deleting and recreating the .vn environment, upgrading pip, and reinstalling tqdm for a clean start.
Learn to use multiple Python virtual environments for different projects, each with its own dependencies and package versions. VS Code supports only one active environment at a time.
Use tqdm in Python by replacing range with TRange to display a real-time progress bar, and learn imports: built-ins, external modules, and your own files in a virtual environment.
Learn that a dependency is an external module your code relies on, such as tqdm, which you must install in a Python virtual environment to run code.
Turn your code into a Python package that anyone can pip install, and explore tools like MyPy, PyTest, Tox, Ruff, Black, Isort, and GitHub Actions to boost your resume.
Learn how to work with Python Packages like they do in industry with virtual environments. In under an hour, you'll go from zero to hero in the topics of: Namespaces, Packages, PyPI, Modules, Imports, Virtual Environments (Creating, Activating, Deactiving, Deleting, and Why they are needed), and we'll cover a real-world use case with tqdm! Virtual Environments should be the default way you work with all Python code, and if an interviewer finds out you don't know them, it will likely really hurt your chances at getting a job.
Hi, I'm Dr. Justin Furuness, and I'm the right guy to teach this to you. My Python packages have hundreds of thousands of downloads, have been used by NIST (the US government agency for cybersecurity), have been published in peer-reviewed papers, and have been used by teams all around the world.
But don't just take my word for it. Here are some testimonials from just a few of the more than 10,000 people that have taken my courses:
"The course content exceeded the expectations and details are to the point and crisp" -Ezhilarasi
"Very very helpful and my doubts are blown away which were there until now" -Sai
"This was great! I found it to be extremely helpful to get my bearings on the structure/process of a python package, and I'm excited to take this knowledge into my work." - Jamie
"Very much useful. Rarely I find this kind of work when the courses says advanced python but this is what I expect. Thanks for such great course. I wish if you can provide more such courses in future." - Amit
"Course was excellent" -Harikrishna
"That course and the instructor are just great! Clear and to the point. Don't let the length of the course fool you : ) It is truly worth it" - Moutasem
"Very good. Clearly a gifted programmer." -Matthew
"This is exactly what I needed, thanks!" -Zukisa
"Great, organized work. Keep producing more courses like this." -Dr. Ahmed
"It's an amazing course" -Mutra
"Great material, short and on point. I've liked the explanations and the clarity of the teacher. In the past I've installed some packages using different techniques but I needed some guidelines and best-practices with how structure a project, init files, main files ecc." -David
"To the point in a short time for a topic that I was struggling with for a long time." - Anonomous
"Nice and short, well explained. Recommend if this is a topic of interest to you." - Sean
"Excellent course, really appreciate that you got straight to the point and did not explain Python from scratch as many tutorials do. Those certainly have their place, but a quick course like this is definitely appreciated by someone who already knows the language!" - Jacob
"Short and sweet, efficient, concise gets to the point and it's good to see it all in one pass - is good about being transparent about not being for beginners, nice for me who has spent a long time programming in python for myself, but just never really able to get accustomed to more properly packaging code for others to use." -Ambrew
"Excellent" - Augustin
"Great course on python packaging. Short and with no minutia. I highly recommend it and wish the instructor had more courses." -Christina
"Really good course to the point and very current." - Patrick
"Detailed, succinct, and salient." - Bryce
"Thanks for the tutorial! It was very helpful. I am pretty sure I will come back to this course several times for references once I will want to create my own package." -Kamil
"I understood how to covert a python script to package in very nice and simple way. Thanks a lot." -Ranjan
"it was amazing, tnx" -Hejar
"I know nothing about how to create packages in python, and so far the explanations in the course are easy to follow." - Marte
"Many useful information in these videos. Highly recommended if you want to dig into creating packages, and use pip. Thanks for creating this course!" -Farkas
"That was such an informative, clearly explained course. I liked the briefness. It is one of the best content out there when we think about the course duration. Just 1-2 hours :) You will not be regretted. Thank you instructor !" -Furkan
"Awesome instructor. Explains on the point in a very comfortable and efficient way. Well done! Also, the contend introduces some extra tricks and best practices that i did not expect when starting the course." -Julian
"Thank you for the good and organized explanations!! they were very relevant!! Keep up the good work ;)" -Abderrahman
"great course. to the point. super useful. thanks :)" - Avi
"Great course, exactly what I was looking for." -Jose
"Very useful advanced topics and easy to follow." -Martin
"Really great course, perfect pace and explanation for each step of the process. Great start for a new project I am working with." -Corinne
"Such a wonderful, practical and to the point content. Every bit of the course is so enriching. This is my first course on uploading a package to PyPi. Additionally, this is also helpful for people who have never done OOP in Python. We need more from Justin Furuness or more Justin-s in udemy sharing their real knowledge. Thank you Sir" - Deepak
We start with going over how to install and configure WSL, Homebrew, Python, and VS Code for every common operating system. We then dive headfirst into the Python Ecosystem and how built-ins work. We cover namespaces and how imports affect the global namespace. We discuss how to perform more selectively import modules and packages to both reduce clutter and make our code less ambiguous. We cover how to rename imports, and why import * is dangerous! We then dive into pip, and the Python Packaging Index (PyPI), and how to install other people's code for usage in the form of packages/modules. In both the terminal, and VS Code, we cover how to create a virtual environment, and why we need them. We cover how to do pip installs into virtual environments. How to completely start our installations from scratch. We cover how we can have multiple versions of the same package, installed at the same time! And how we can have multiple Python versions running at once (and how to easily swap between them). And finally, we dive into a real-world use case using tqdm!
This field is constantly evolving, and I make sure this course evolves right along with it. You're also getting access to myself and my help. Any questions feel free to message in the QnA and I'll be sure to respond. With a PhD, 10+ years of experience, and several popular Python packages with 100k+ downloads, you'll be getting top notch assistance.
As far as prerequisites go, this course is for everyone! You can start here with little-to-no Python knowledge and I'll walk you through everything step-by-step. Even for those of you that are more advanced, you can skip straight to the more advanced videos about multi-Python installs, and multi-versioning installs.
These skills are broadly applicable, and after taking this course, will likely be the default way you code for the rest of your career. It's also critical for careers. If a job recruiter finds out you don't know what a virtual environment is, it's a big red flag.
And of course, this course has a 30 day no questions asked money back guarantee! So you have nothing to lose, and everything to gain. Please enroll now, and join me on this journey me as we take these topics and turn them into something you find easy!