Locked learning resources

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

Unlock This Lesson

Locked learning resources

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

Unlock This Lesson

uv vs pip: Python Packaging and Dependency Management (Summary)

In this video course, you compared two popular tools for managing Python packages: uv and pip. You saw how they handle package installation, dependency management, and environment reproducibility, as well as their differences in speed, ecosystem support, package removal, and governance models.

Choosing the right package manager is crucial for efficient and reproducible Python environments. As the ecosystem evolves, understanding the strengths and trade-offs of uv and pip will help you build faster, cleaner, and more maintainable projects.

In this video course, you’ve:

  • Compared the overlapping features and use cases of uv and pip
  • Benchmarked the package installation speed between the two tools
  • Achieved reproducible environments using lock files and dependency pinning
  • Cleaned up environments by properly uninstalling transitive dependencies
  • Evaluated maturity, licensing, and ecosystem support for uv and pip

Resources mentioned in this lesson:

Locked learning resources

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

Unlock This Lesson

Already a member? Sign-In

Locked learning resources

The full lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Already a member? Sign-In

00:00 Congratulations on making it this far. At this point, I hope you feel more confident when it comes to the decision you have to make, whether to use uv or pip.

00:10 Let’s do a brief recap of everything you learned about uv and pip, there are differences and similarities, so that you can make an informed decision.

00:18 Astral is the company, the private company, that’s behind uv, a company that’s focused on high‑performance Python tooling, whereas pip is backed by PyPA, the Python Packaging Authority, which is an integral part of the Python Software Foundation.

00:33 So if you have no tolerance for risk whatsoever, you’ll likely want to go with pip because pip is not going anywhere, even if it becomes a not‑so‑popular tool.

00:43 Now, because pip is a core Python tool, whenever you install Python from the official installers, you get pip for free. Whereas for uv, you have to take an extra installation step, which means that if you don’t have permissions to install software on your machine, you have to go with pip.

01:02 Now, if you do take the time to install uv, that time you spent will likely pay itself off once you start installing dependencies, because the experiments you ran in this course showed you that uv was five times faster at installing Jupyter Lab with no cache.

01:18 Now, funnily enough, pip is faster at uninstalling Jupyter Lab, but that’s only because uv cleans up your transitive dependencies, whereas pip doesn’t.

01:28 So if you need fast installs or if you want your virtual environments to remain as clean as possible, you’ll want to go with uv. Now, if you’re collaborating with other people on projects, regardless of whether they are open source or not, you’ll likely want to have reproducible installs.

01:45 uv has them out of the box. pip will require a third‑party tool. You’ll want to think about the way in which uv or pip will integrate into your workflows and into your tool chain, because uv has been growing in adoption, but it’s a fairly new tool.

02:02 So there are workflows that don’t support it yet, whereas pip is a very mature tool that is essentially supported everywhere by everyone. If you’re not using modern tool chains, modern workflows, you might need to use pip.

02:17 Finally, as far as licensing is concerned, both uv and pip have a very permissive license, the MIT License, but pip is written in Python, which is the language of the Python developers, whereas uv is written in Rust, which means not every Python developer will have an easier time collaborating on uv as on pip.

02:39 So that’s something to take into account,

02:42 and if none of the criteria have an impact on your choice, just flip a coin. Once you do pick between uv and pip, there are some tutorials at Real Python that you can go through to learn more about each tool, so that you can make the most out of your newly-picked tool.

03:00 Thank you so much for watching. My name is Rodrigo, and I’ll catch you on the next one.

Avatar image for David Bonn

David Bonn on Jan. 20, 2026

Very good material, thank you.

I started using uv in November and my biggest observation is that once you switch (I switched from pyenv + pip) it is very hard to go back.

And uv isn’t faster just because it was written in Rust or does very clever caching. And one noticable benefit is that if you have a lot of projects you will also save a lot of disk space.

uv generally manages having different python versions better than pyenv.

uv also has specific considerations for containers that bare-bones pip does not.

Avatar image for David Bonn

David Bonn on Jan. 20, 2026

Also, a short tutorial on how to use uv to represent the dependencies in scripts (like you’d do with uv run --script) would be helpful, as that is something that it is hard to do well without uv or a similar tool.

Become a Member to join the conversation.