๐ŸŒ
Medium
codemaker2016.medium.com โ€บ introducing-uv-next-gen-python-package-manager-b78ad39c95d7
Introducing uv: Next-Gen Python Package Manager | by Vishnu Sivan | Medium
December 15, 2024 - ๐Ÿ› ๏ธ Application and Script Management: Installs and manages Python versions, runs scripts with inline dependency metadata, and supports comprehensive project workflows. ๐Ÿ—‚๏ธ Universal Lockfile: Simplifies project management with consistent and portable lockfiles. ๐Ÿข Workspace Support: Handles scalable projects with Cargo-style workspace management. ... Resolving (left) and installing (right) dependencies using a warm cache, simulating the process of recreating a virtual environment or adding a new dependency to an existing project.
๐ŸŒ
Astral
docs.astral.sh โ€บ uv
uv
1 month ago - An extremely fast Python package and project manager, written in Rust.
Discussions

2024 Python package manager overview - Packaging - Discussions on Python.org
A colleague of mine (does not seem to have a handle here) pointed out the following article, which I think is a pretty nice โ€“ even if opinionated โ€“ high-level overview over the current state of affairs in python packaging land (at least from the POV of user-facing tools): The one nitpick ... More on discuss.python.org
๐ŸŒ discuss.python.org
5
July 9, 2024
Trying uv: The Future of Python Package Management
Python is strange. Every second year they come up with "now THIS is the real deal in regards to package management". More on reddit.com
๐ŸŒ r/programming
85
113
July 5, 2025
pip - How to do Python package management? - Stack Overflow
Coming from a Node.js + npm background, it is really nightmarish trying to understand all the things related to Python package management. After a few hours of research, I've stumbled upon all those More on stackoverflow.com
๐ŸŒ stackoverflow.com
What's the best package manager for python in your opinion?
uv and it isn't even close More on reddit.com
๐ŸŒ r/Python
220
110
October 22, 2025
๐ŸŒ
DataCamp
datacamp.com โ€บ tutorial โ€บ python-uv
Python UV: The Ultimate Guide to the Fastest Python Package Manager | DataCamp
January 9, 2025 - It serves as a drop-in replacement for traditional Python package management tools like pip, offering significant improvements in speed, reliability, and dependency resolution. This tool represents a new generation of Python package managers, designed to address common pain points in the Python ecosystem such as slow installation times, dependency conflicts, and environment management complexity.
๐ŸŒ
Python Packaging
packaging.python.org โ€บ guides โ€บ tool-recommendations
Tool recommendations โ€” Python Packaging User Guide
If youโ€™re familiar with Python packaging and installation, and just want to know what tools are currently recommended, then here it is. Use Pipenv to manage library dependencies when developing Python applications.
๐ŸŒ
KDnuggets
kdnuggets.com โ€บ new-python-package-manager
A New Python Package Manager - KDnuggets
November 14, 2024 - uv is a fast Python package and project manager, written in Rust. It can be used instead of pip, pip-tools, pipx, poetry, pyenv, and virtualenv tools. uv provides a complete ecosystem for managing Python projects, allowing you to add dependencies, ...
๐ŸŒ
Medium
medium.com โ€บ @dieggo.filipe โ€บ uv-the-new-python-package-manager-you-need-to-know-491a147af74c
UV: The New Python Package Manager You Need to Know! | by Diego Lima | Medium
April 22, 2025 - UV is an ultra-fast, lightweight Python package manager that promises to eliminate the headaches of managing dependencies in Python projects. Built by Astral.sh, UV excels in extreme performance, particularly when resolving complex dependencies.
๐ŸŒ
KDnuggets
kdnuggets.com โ€บ top-7-python-package-managers
Top 7 Python Package Managers - KDnuggets
October 27, 2025 - uv is a next-generation Python package and environment manager designed for speed. Written in Rust, it aims to outperform traditional tools like pip and Poetry while maintaining full compatibility with the Python ecosystem.
๐ŸŒ
DEV Community
dev.to โ€บ adamghill โ€บ python-package-manager-comparison-1g98
Python Package Manager Comparison ๐Ÿ“ฆ - DEV Community
November 15, 2023 - For example, poetry run dev as an alias for poetry run manage.py runserver 0:8000. That is not available in standard Poetry, although I use poethepoet (a Poetry plugin) to provide that functionality. Hatch never deviates from the Python PEP standards and brings a few innovative features to the table, including being able to group dependencies and scripts into custom environments. The hatch new [project] command is surprisingly opinionated and has settings for ruff (my new favorite Python tool), pytest, and coverage.
Find elsewhere
๐ŸŒ
Python.org
discuss.python.org โ€บ packaging
2024 Python package manager overview - Packaging - Discussions on Python.org
July 9, 2024 - A colleague of mine (does not seem to have a handle here) pointed out the following article, which I think is a pretty nice โ€“ even if opinionated โ€“ high-level overview over the current state of affairs in python packaging land (at least from the POV of user-facing tools): The one nitpick I have is that Iโ€™d wish the article underscored a bit more is how pixi is explicitly trying to bridge the gap between the world of PyPI-based packages and conda packages, which is (in my biased opinion) one o...
๐ŸŒ
The New Stack
thenewstack.io โ€บ home โ€บ how to choose the best python package management tool
How To Choose the Best Python Package Management Tool - The New Stack
June 16, 2025 - Pip, UV and Poetry are three distinct Python package management solutions, each one tailored to different development needs.
๐ŸŒ
Python Packaging
packaging.python.org โ€บ tutorials โ€บ installing-packages
Installing Packages โ€” Python Packaging User Guide
Managing multiple virtual environments directly can become tedious, so the dependency management tutorial introduces a higher level tool, Pipenv, that automatically manages a separate virtual environment for each project and application that you work on. pip is the recommended installer. Below, weโ€™ll cover the most common usage scenarios. For more detail, see the pip docs, which includes a complete Reference Guide. The most common usage of pip is to install from the Python Package Index using a requirement specifier.
๐ŸŒ
Reddit
reddit.com โ€บ r/programming โ€บ trying uv: the future of python package management
r/programming on Reddit: Trying uv: The Future of Python Package Management
July 5, 2025 - Thing is. uv isn't just a package manager, it also manages python versions. Even at its most basic, this means it rolls pip, virtualenv and pyenv into one tool. And I am saying that as someone who is VERY conservative when it comes to using new tools over already established one; that is a really good tool combination right there.
๐ŸŒ
Jumping Rivers
jumpingrivers.com โ€บ blog posts โ€บ python package managers
An Introduction to Python Package Managers
July 22, 2025 - Personally I would recommend either installing pip or conda if this is your first introduction to Python and poetry if you are working on a collaborative project. However, choose the package manager that best suits your needs and enjoy the benefits of efficient dependency management and streamlined development workflows. ... Like data science? R? Python? Stan? Then youโ€™ll love the Jumping Rivers newsletter.
๐ŸŒ
GitHub
github.com โ€บ pdm-project โ€บ pdm
GitHub - pdm-project/pdm: A modern Python package and dependency manager supporting the latest PEP standards ยท GitHub
A modern Python package and dependency manager supporting the latest PEP standards - pdm-project/pdm
Starred by 8.6K users
Forked by 469 users
Languages ย  Python 89.0% | Shell 8.7% | PowerShell 2.3%
๐ŸŒ
PyDevTools
pydevtools.com โ€บ handbook โ€บ explanation โ€บ which-python-package-manager-should-i-use
Which Python package manager should I use?
1 week ago - Use uv. It handles dependency management, virtual environments, Python version management, and package building in a single tool. It follows Python packaging standards, generates cross-platform lockfiles, and resolves dependencies faster than ...
๐ŸŒ
DuBlog
dublog.net โ€บ blog โ€บ so-many-python-package-managers
Python has too many package managers
July 7, 2024 - This proposal effectively gives a guidance to consolidate everything into a pyproject.toml file, almost identical to Cargo.toml in Rust and similar to the package.json used in npm. Naturally this led to a proliferation of new Python package managers which leverage the new standard.
๐ŸŒ
Inedo
blog.inedo.com โ€บ python โ€บ managing-python-packages
Python Package Managers Explained
May 1, 2025 - Pipenv is a package management tool that โ€œaims to bring the best of all packaging worldsโ€ to Python. Pipenv is similar in spirit to Node.jsโ€™s npm and Rubyโ€™s bundler. Itโ€™s popular among the Python community because it merges virtual ...
Top answer
1 of 3
22

Types of Packages
Egg vs Wheel vs Neither. What's meant by neither is that a python package can be installed from its "source" without being packaged as an egg or wheel.

Packaging Utilities
There are several libraries which provide utilities for packaging python applications, including distutils and setuptools. There is already an excellent post on this.

easy_install
Part of setuptools, allows building and installing python packages. Often discouraged in favor of Pip. Designed to make installation of packages easy, doing the chore of downloading and moving them to the correct place for you (hence the name).

Pip
A package manager for python packages, and a replacement for easy_install! See here for some reasons why people prefer it over easy_install. Can do neat things like install a package directly from a git repository or compile C extensions on the target machine. The latter is debatable as to whether or not it's desirable, but nonetheless it's a nice feature to have if you want it.

PyPI
The python package index, where easy_install and Pip search for available packages, by default. Basically a giant online repository of modules that are accepted by the community.

virtualenv
A way of hacking your environment variables to "isolate" an installation of python and it's related modules. Prefers Pip, because Ian Bicking wrote them both. Basically, you use pip to install virtualenv system wide, which then allows you to create python virtual environments, each with their own copy of python, pip, and assorted modules. This lets you have multiple versions of python or install a module just for testing, without mucking up your system-wide python install.

virtualenvwrapper
A really handy shell script that makes creating and tearing down virtual environments easier.

site-packages
One of the supported locations for installing python modules into. Lives someplace like /usr/lib/pythonX.X/site-packages. There are other supported locations, like dist-packages or user specific locations.

What does all this mean for you?
I'd recommend you don't pay any attention to easy_install and just use pip. Please also always use virtualenv. Usually, the only python modules you should install system-wide on your workstation are pip and virtualenv. I've completely ignored eggs and wheels, but if you plan to distribute packages professionally or host them on PyPI, you probably want to investigate those. Also, if you are creating python packages, you will need to learn to write a setup script, with setuptools. My recommendation is to never use distutils.

Some more Reading
A page on python.org about packaging which covers a lot of these topics
Python packaging is a nightmare
A great post that goes against the most common recommendations, including mine!

2 of 3
3

There's some mixing in the options you are listing:

  • virtualenv - is used to create isolated environments
  • site-packages - standard location where python packages / libs reside

  • pypi - is a repository

  • easy_install - is found on the setuptools package

  • pip - was written to improve easy_install.

about python eggs