Home Backend Development Python Tutorial Use uv to manage Python environments

Use uv to manage Python environments

Jan 08, 2025 pm 06:16 PM

使用 uv 管理 Python 環境

Say goodbye to cumbersome Python environment management! uv is an efficient and convenient tool that can solve Python version management, virtual environment creation, package management, project management and other problems in one stop. It is fast and easy to get started. This article will take Windows PowerShell as an example to demonstrate the use of uv. For other platforms, you can refer to the official documentation for corresponding adjustments.

Install uv

uv does not depend on Python, so it is not recommended to use pip or pipx to install. Windows systems can be installed directly by executing the following command through PowerShell:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Copy after login

Or install using a package manager such as scoop:

scoop install uv
Copy after login

Use uv to manage multiple versions of Python

Use the uv python list command to view installable and installed Python versions:

# uv python list
cpython-3.13.1+freethreaded-windows-x86_64-none    <download available="">
cpython-3.13.1-windows-x86_64-none                 <download available="">
cpython-3.12.8-windows-x86_64-none                 <download available="">
...
Copy after login

Install the latest version:

# uv python install
Installed Python 3.13.1 in 5.89s
+ cpython-3.13.1-windows-x86_64-none
Copy after login

View installation results: The installed version will display the installation path.

# uv python list
cpython-3.13.1-windows-x86_64-none                 C:\Users\meebo\AppData\Roaming\uv\python\cpython-3.13.1-windows-x86_64-none\python.exe
...
Copy after login

Get the Python installation path:

# uv python dir
C:\Users\meebo\AppData\Roaming\uv\python
Copy after login

Install the specified version:

# uv python install 3.10
Installed Python 3.10.16 in 9.78s
+ cpython-3.10.16-windows-x86_64-none
Copy after login

Uninstall Python version (requires specified version):

# uv python uninstall 3.10
Searching for Python versions matching: Python 3.10
Uninstalled Python 3.10.16 in 1.52s
- cpython-3.10.16-windows-x86_64-none
Copy after login

View all versions (including all revisions): uv python list --all-versions

Install multiple versions: uv python install 3.10 3.11

Uninstall multiple versions: uv python uninstall 3.10 3.11

Use uv instead of python/pip tools

The Python environment managed by uv cannot be executed directly with the python command, but must be executed through the uv run command. For example:

# cat .\show_version.py
import sys
print(sys.version)
Copy after login

Execution:

# uv run .\show_version.py
3.13.1 (main, Dec 19 2024, 14:38:48) [MSC v.1942 64 bit (AMD64)]
Copy after login

Specify Python version to execute: uv run --python 3.10 .show_version.py

Execute from standard input: echo 'print("hello world!")' | uv run -

View installed Python version: uv python list --only-installed

Set default Python version (current directory only): uv python pin 3.10 (create .python-version file)

Specify the packages required for execution

If the program requires additional packages, such as cowsay:

# cat .\cow.py
from cowsay import cow
cow('hello, world')
Copy after login

Specify the package using the --with option:

# uv run --with cowsay .\cow.py
Installed 1 package in 13ms
...
Copy after login

Clear cached virtual environments: uv cache clean

Manage virtual environments

Create a virtual environment: uv venv --python 3.10 (create .venv directory) or specify the directory name: uv venv myenv

Use the specified virtual environment: uv run --python myenv .show_version.py

Delete virtual environment: Delete virtual environment directory

Management Pack

Use the uv pip command to manage packages, which is compatible with the pip command.

Installation package: uv pip install cowsay

View package dependencies: uv pip tree

Uninstall package: uv pip uninstall rich (Dependent packages no longer needed will not be automatically deleted)

Use uv to manage Python projects

uv provides two project management methods: single file project and folder project.

Single file project

Initialize single file project: uv init --script cow3.py --python 3.13 (add metadata in cow3.py file)

Add package: uv add --script cow3.py cowsay rich (modify cow3.py file metadata)

Remove package: uv remove --script cow3.py rich (modify cow3.py file metadata)

Folder Items

Initialize the folder project: uv init myproject (Create the project directory, including .gitignore, .python-version, hello.py, pyproject.toml, README.md)

Execution project: uv run hello.py (Create .venv virtual environment)

Add package: uv add cowsay rich (modify pyproject.toml file)

Update package: uv lock --upgrade-package cowsay or uv lock --upgrade

Remove package: uv remove cowsay

Synchronize project environment with uv.lock files: uv sync

View project package dependencies: uv tree

Use the tool commands provided by the package

Directly execute the package command: uvx cowsay -t 'hello, uv' or uv tool run cowsay -t 'hello, uv'

Specify package execution command: uvx --from httpie http -p=b GET https://flagtech.github.io/flag.txt

Install package command to the system: uv tool install httpie

Update package command: uv tool upgrade httpie

Uninstall package command: uv tool uninstall httpie

uv provides an efficient and convenient Python environment management solution, significantly improving development efficiency. Through the introduction of this article, I believe you have mastered the basic usage of uv and can better manage your Python projects and environments.

The above is the detailed content of Use uv to manage Python environments. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1662
14
PHP Tutorial
1262
29
C# Tutorial
1235
24
Python vs. C  : Applications and Use Cases Compared Python vs. C : Applications and Use Cases Compared Apr 12, 2025 am 12:01 AM

Python is suitable for data science, web development and automation tasks, while C is suitable for system programming, game development and embedded systems. Python is known for its simplicity and powerful ecosystem, while C is known for its high performance and underlying control capabilities.

The 2-Hour Python Plan: A Realistic Approach The 2-Hour Python Plan: A Realistic Approach Apr 11, 2025 am 12:04 AM

You can learn basic programming concepts and skills of Python within 2 hours. 1. Learn variables and data types, 2. Master control flow (conditional statements and loops), 3. Understand the definition and use of functions, 4. Quickly get started with Python programming through simple examples and code snippets.

Python: Games, GUIs, and More Python: Games, GUIs, and More Apr 13, 2025 am 12:14 AM

Python excels in gaming and GUI development. 1) Game development uses Pygame, providing drawing, audio and other functions, which are suitable for creating 2D games. 2) GUI development can choose Tkinter or PyQt. Tkinter is simple and easy to use, PyQt has rich functions and is suitable for professional development.

How Much Python Can You Learn in 2 Hours? How Much Python Can You Learn in 2 Hours? Apr 09, 2025 pm 04:33 PM

You can learn the basics of Python within two hours. 1. Learn variables and data types, 2. Master control structures such as if statements and loops, 3. Understand the definition and use of functions. These will help you start writing simple Python programs.

Python vs. C  : Learning Curves and Ease of Use Python vs. C : Learning Curves and Ease of Use Apr 19, 2025 am 12:20 AM

Python is easier to learn and use, while C is more powerful but complex. 1. Python syntax is concise and suitable for beginners. Dynamic typing and automatic memory management make it easy to use, but may cause runtime errors. 2.C provides low-level control and advanced features, suitable for high-performance applications, but has a high learning threshold and requires manual memory and type safety management.

Python and Time: Making the Most of Your Study Time Python and Time: Making the Most of Your Study Time Apr 14, 2025 am 12:02 AM

To maximize the efficiency of learning Python in a limited time, you can use Python's datetime, time, and schedule modules. 1. The datetime module is used to record and plan learning time. 2. The time module helps to set study and rest time. 3. The schedule module automatically arranges weekly learning tasks.

Python: Exploring Its Primary Applications Python: Exploring Its Primary Applications Apr 10, 2025 am 09:41 AM

Python is widely used in the fields of web development, data science, machine learning, automation and scripting. 1) In web development, Django and Flask frameworks simplify the development process. 2) In the fields of data science and machine learning, NumPy, Pandas, Scikit-learn and TensorFlow libraries provide strong support. 3) In terms of automation and scripting, Python is suitable for tasks such as automated testing and system management.

Python: Automation, Scripting, and Task Management Python: Automation, Scripting, and Task Management Apr 16, 2025 am 12:14 AM

Python excels in automation, scripting, and task management. 1) Automation: File backup is realized through standard libraries such as os and shutil. 2) Script writing: Use the psutil library to monitor system resources. 3) Task management: Use the schedule library to schedule tasks. Python's ease of use and rich library support makes it the preferred tool in these areas.

See all articles