DEV Community

Cover image for Stop Using Pip: Why I Switched to “uv” for Python Projects (10x Faster)
Naved Shaikh
Naved Shaikh

Posted on

Stop Using Pip: Why I Switched to “uv” for Python Projects (10x Faster)

If you are still waiting for pip install to finish or wrestling with poetry lock file conflicts, it is time to upgrade. Enter uv, the new Rust-based package manager that is taking the Python world by storm in 2025.

It doesn’t just replace pip; it replaces pip-tools, virtualenv, and even pyenv. Here is why you should switch and how to get started on Windows and Mac.

Why the Hype?
uv is fast. Ridiculously fast. Because it is written in Rust, it can resolve dependencies and install packages in milliseconds where pip takes seconds (or minutes).

  • Cold Install: ~10–100x faster than pip.

  • Warm Install: Instant.

  • Disk Usage: It uses a global cache, so you don’t save the same NumPy version 50 times on your disk.

Step 1: Installing uv
The installation is seamless. Windows (PowerShell):

irm https://astral.sh/uv/install.ps1 | iex
Enter fullscreen mode Exit fullscreen mode

Mac/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

Step 2: The “Magic” of uv run
This is the killer feature. You no longer need to manually create and activate virtual environments (source venv/bin/activate is dead).

With uv, you just create a script and run it. uv automatically creates a temporary environment, installs the imports, runs the script, and cleans up.

Try this: Create a file hello.py:

import requests
print(requests.get("https://api.github.com").status_code)
Enter fullscreen mode Exit fullscreen mode

Run it:

uv run hello.py
Enter fullscreen mode Exit fullscreen mode

uv detects you need requests, installs it in a cached environment, and runs the script instantly.

Step 3: Migrating a Project (requirements.txt)
Have an old project? You can use uv as a drop-in replacement for pip.

Old way:

pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

New way:

uv pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

It respects your existing venv but installs everything significantly faster.

Step 4: Initializing a New Project
For a robust setup (like Poetry), use:

uv init my-new-project
cd my-new-project
uv add pandas fastapi
Enter fullscreen mode Exit fullscreen mode

This creates a pyproject.toml file automatically. No complex setup required.

In 2025, speed matters. uv removes the friction of managing Python environments, letting you focus on coding, not waiting.

Top comments (2)

Collapse
 
ilsa_shaikh_089e2bfab0bf4 profile image
Ilsa_S

Really rust is evolving python

Collapse
 
naved_shaikh profile image
Naved Shaikh

yeah rust support for the python virtual environment is supper. it will be great if this we can see rust version on python