comandos comunes uv
 Tutoriales prácticos sobre IAActualizado hace 7 meses Círculo de intercambio de inteligencia artificial 40.1K 00
Python A Eco nunca le han faltado herramientas de gestión de envases y gestión medioambiental, desde el clásico pipyvirtualenv hasta pip-toolsyconday luego se modernizó PoetryyPDM Y así sucesivamente. Cada herramienta tiene su área de especialización, pero también suele hacer que la cadena de herramientas de un desarrollador sea fragmentada y compleja.
Ahora, desde Astral Empresa (conocida) Python Linter Ruff (el creador del uv El cruce ha abierto nuevas posibilidades. Este producto utiliza Rust herramientas escritas en el idioma, aspira a ser un Rápido, unificado y fácil de desarrollar Python Gestor de paquetes y proyectos. Su objetivo es claro: aprovechar Rust ecológico Cargo La exitosa experiencia de la empresa ofrece una solución integral.uv No sólo es rápido, sino que también integra gestión de entornos, instalación de paquetes, resolución de dependencias, gestión de proyectos y mucho más.
¿Por qué UV?
En comparación con las herramientas existentesuv Ofreciendo una alternativa más moderna y eficiente a sus principales puntos fuertes:
- Aumento significativo de la velocidad: Basado en 
Rustde optimización en tiempo de compilación y procesamiento concurrente eficiente.uvEn operaciones comunes como la resolución de dependencias y la instalación de paquetes, es más rápido que las herramientas tradicionales como el programapiptal vezPoetryque a menudo pueden ser órdenes de magnitud más rápidas. El eficaz mecanismo de caché global incorporado también hace que las operaciones repetitivas sean casi instantáneas. Detrás de todo esto está elRustcaracterísticas del lenguaje (p. ej., concurrencia sin miedo gracias a la seguridad de memoria) y bibliotecas subyacentes de alta calidad (p. ej., la libreríaTokioyReqwest) Créditos. - Integración funcional completa::
uvPensada para ser una "navaja suiza" en manos de los desarrolladores, abarca desde la creación y gestión de entornos virtuales hasta la instalación y bloqueo de dependencias (soporte nativo).pyproject.tomlcompatiblerequirements.txt), a la ejecución de scripts, la gestión de herramientas globales e incluso la instalación dePythonversión del proceso de desarrollo completo. - Gestión moderna de proyectos: Soporte nativo 
pyproject.toml(norma PEP 517/518/621), que es la actualPythonEl perfil estándar de facto del proyecto.uvCapacidad para gestionar claramente las agrupaciones de dependencias (por ejemplo, dependencias de desarrollo) y generar plataformas cruzadas.uv.lockArchivo bloqueado. Este archivo de bloqueo registra con precisión las versiones específicas y las fuentes de todas las dependencias directas e indirectas, asegurando que un entorno completamente consistente puede ser reconstruido en cualquier máquina, en cualquier momento, para una construcción verdaderamente determinista. - Buena compatibilidad::
uvProporciona un enlace a lapipInterfaz de comandos altamente compatible (uv pip ...) y puede entenderrequirements.txtlo que permite migrar los proyectos existentes al formato de archivouvEl proceso es relativamente sencillo. - Desarrollo activo y futuro:: Por 
AstralEl equipo mantiene activamente e itera rápidamente utilizando elMITLicencia de código abierto. Gran interés de la comunidad, gran potencial de desarrollo y un futuro prometedor. 
utilizar uvSe espera que los desarrolladores experimenten Node.js ( npm / yarn / pnpm ) o Rust ( Cargo ) como flujos de trabajo de gestión de dependencias fluidos y uniformes.
Instalación de UV
montaje uv Muy sencillo. La recomendación oficial es utilizar el script de instalación proporcionado, ya que no depende del existente Python El medio ambiente. Por supuesto, al pip o System Package Manager también son opciones viables.
- Método recomendado (Cross-platform scripting)::
# macOS / Linux (bash, zsh, etc.) curl -LsSf https://astral.sh/uv/install.sh | sh # Windows (PowerShell) powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"tenga en cuentaEl script oficial establecerá por defecto
uvInstalar en una ubicación específica del directorio de usuario (p. ej.Linux/macOS(utilizado como expresión nominal)~/.uv/bintal vezWindows(utilizado como expresión nominal)%LOCALAPPDATA%\uv\bin), que normalmente se encuentra en el disco del sistema (p. ej.C:(Disco). - Utilizar pip (requiere un entorno Python existente)::
pip install uv # 或推荐使用 pipx 进行隔离安装 # pipx install uvSi su
PythonMedio ambiente opipxEl entorno en sí no está en el disco del sistema, y al instalarlo de esta manera eluvTambién suele seguir su posición. Puede configurarlo mediante el parámetroPIPX_HOMEVariables de entorno a controlarpipxla ruta de instalación. - Uso del gestor de paquetes del sistema (ejemplo)::
# macOS (Homebrew) brew install uv # Windows (Scoop) # 可以先将 Scoop 本身安装到非系统盘,然后用它安装 uv scoop install uv # Arch Linux pacman -S uvSi, como en el caso de
ScoopUn gestor de paquetes de este tipo se configura a su vez en un disco que no es del sistema y, a continuación, las aplicaciones que instala (incluida la aplicaciónuv) suelen instalarse también en la misma unidad. - Uso de Cargo (requiere un entorno Rust)::
cargo install uv --locked --git https://github.com/astral-sh/uvuvse instalará en elCargo(utilizado como expresión nominal)binCatálogo. Esto puede hacerse configurando la opciónCARGO_HOMELa variable de entorno establece toda la.cargo(que contiene el archivocratesy productos compilados) migrado a discos no pertenecientes al sistema. 
Una vez finalizada la instalación, ejecute uv --version tal vez uv help para comprobar que la instalación se ha realizado correctamente.
Configuración de la ubicación de almacenamiento de datos UV (avanzada)
Por defecto, eluv Se almacenará en caché, descargará el Python así como a través de la versión uv tool install Las herramientas globales instaladas se almacenan en una ubicación por defecto en el directorio de usuario (normalmente en la unidad del sistema). Si desea almacenarlas en otra unidad (como la unidad de disco D: disco) para ahorrar espacio en el disco del sistema o para reducir SSD Write, que puede configurarse mediante la opciónvariable de entornopara hacerlo realidad.
He aquí algunas variables de entorno clave:
UV_CACHE_DIR: ControluvUbicación del directorio de caché. La caché incluye los archivos de paquetes descargados, construidoswheeletc., que pueden ocupar más espacio.UV_PYTHON_INSTALL_DIR:: Control medianteuv python installdescargado y gestionadoPythonLa ubicación donde se instalará el intérprete.UV_TOOL_INSTALL_DIR:: Control medianteuv tool installGlobal instaladoPythonLugar de almacenamiento de las herramientas y sus entornos aislados.
Cómo establecer variables de entorno (ejemplo):
Supongamos que el objetivo es combinar todos uv Los datos se almacenan en el D:\uvdata Catálogo.
- Windows (PowerShell - configuración temporal, válida sólo para la sesión actual):
$env:UV_CACHE_DIR = "D:\uvdata\cache" $env:UV_PYTHON_INSTALL_DIR = "D:\uvdata\python" $env:UV_TOOL_INSTALL_DIR = "D:\uvdata\tools" # 之后在此会话中运行 uv 命令,数据将写入新位置 uv pip install requests - Windows (variables de entorno del sistema - configuración permanente):
- existe 
WindowsBusca "variables de entorno" en la barra de búsqueda. - Haga clic en "Editar variables de entorno del sistema".
 - En el cuadro de diálogo "Propiedades del sistema", pulse el botón "Variables de entorno...". .
 - En el área "Variables de usuario" o "Variables de sistema" (se recomienda Variables de usuario, a menos que sea necesario para todos los usuarios), haga clic en "Nuevo ..." .".
 - Introduzca el nombre de la variable (por ejemplo 
UV_CACHE_DIR) y valores variables (comoD:\uvdata\cache). - Repítelo para las otras dos variables.
 - Haga clic en "Aceptar" para cerrar todos los cuadros de diálogo.
 - crux:: Obligatorioreabrir 
PowerShellpara que la nueva variable de entorno surta efecto. 
 - existe 
 - Linux / macOS (bash/zsh - configuración temporal):
export UV_CACHE_DIR="/path/to/non_system_drive/uvdata/cache" export UV_PYTHON_INSTALL_DIR="/path/to/non_system_drive/uvdata/python" export UV_TOOL_INSTALL_DIR="/path/to/non_system_drive/uvdata/tools" # 之后在此会话中运行 uv 命令 uv pip install requests - Linux / macOS (configuración permanente):
topológicoexporta su archivo de configuración de Shell (por ejemplo~/.bashrc,~/.zshrc,~/.profile) y, a continuación, ejecute el comandosource ~/.your_config_fileo reinicie el terminal para que la configuración surta efecto. 
Notas importantes:
- Después de configurar estas variables de entorno, el
uvLas rutas especificadas se utilizan automáticamente. Asegúrese de que estos directorios existen y de queuvTener acceso de escritura. - Entorno virtual (
.venv) posición:uv venvPor defecto en suDirectorio raíz del proyectoCree.venvcarpeta. Como resultado, la carpetaSiempre que el proyecto se encuentre en un disco que no sea del sistema (como el discoD:\myproject), entonces.venvNaturalmente, también estará en ese disco. No suele ser necesario facilitar una lista de.venvConfigure las rutas individualmente para evitar el disco de sistema. Por supuesto, también puede evitar el disco de sistema medianteuv venv /path/to/custom/envEspecificar explícitamente dónde se va a crear el entorno virtual, pero esto es más para personalizar la ruta del entorno que para resolver el problema de almacenamiento en disco del sistema. 
Configurando adecuadamente estas variables de entorno, puede gestionar eficazmente el uv generado, dirigiéndolo a un lugar de almacenamiento donde el espacio sea más abundante o más apropiado.
Conceptos básicos UV
en el uso de uv A la hora de gestionar un proyecto, es importante comprender los siguientes conceptos básicos:
pyproject.toml: ModernoPythonPerfil estándar del proyecto (basado en PEP 517/518/621).uvUtilícelo para definir los metadatos del proyecto (nombre, versión, descripción, etc.), necesariosPythonVersión (requires-python) y las principales dependencias del proyecto (dependencies) y grupos de relaciones opcionales (por ejemplodev-dependencies). Es la "única fuente de verdad" para la configuración del proyecto.uv.lock:: PoruvUn archivo bloqueado que se genera y gestiona automáticamente. Registra con precisión los números de versión específicos y los hashes de origen de todas las dependencias del proyecto (incluidas las dependencias indirectas). Su valor fundamental es garantizar queReproducibilidad del entornosiempre y cuando se base en el mismouv.lockinstala las dependencias, se obtiene exactamente la misma combinación de paquetes.Este archivo no debe editarse manualmente.- Entorno virtual (
.venv)::uvMuy recomendable y simplifica el uso de entornos virtuales. Por defecto crea un entorno virtual en el directorio raíz del proyecto llamado.venvde entornos aislados para albergar las dependencias del proyecto. La mayoría de losuv(por ejemploadd,sync,run) se detectan automáticamente y las operaciones se realizan en este entorno, evitando el globalPythonContaminación del medio ambiente. 
Gestión de proyectos Python con UV
A continuación se muestra una demostración, a través de un proceso completo, de cómo utilizar uv para crear y gestionar un Python Proyecto.
Inicializar el proyecto (uv init)
utilizar uv init puede construir rápidamente la estructura básica de un nuevo proyecto.
# 确保在期望的驱动器上操作,例如在 D: 盘
# D:
# mkdir my_uv_project
# cd my_uv_project
# 初始化名为 my_uv_project 的项目
uv init my_uv_project
cd my_uv_project
Después de la aplicación.uv estará en my_uv_project se genera el directorio:
.git/responder cantando.gitignoreInicialización automáticaGity proporciona unPythonevento deportivo.gitignoreDocumentación..python-versionDocumentación de propuestas o solicitudes de proyectosPythonversión (por ejemplo3.12).uvse remitirá a este documento para seleccionar o instalar elPythonIntérprete.pyproject.tomlFichero de configuración del proyecto: contiene el nombre, la versión y la descripción del proyecto,PythonRequisitos de versión y vacíodependenciesLista.README.mdun vacíoREADMEDocumentación.src/my_uv_project/__init__.pyUna estructura básica del código fuente (si se utiliza el métodosrc(Disposición). O un simplehello.pyArchivo de ejemplo.
# pyproject.toml 示例内容 (可能略有不同)
[project]
name = "my-uv-project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12" # 根据系统情况或指定版本生成
dependencies = []
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
# uv 可能还会添加 tool.uv 相关配置
Crear y sincronizar el entorno (uv venv, uv sync)
Una vez inicializado el proyecto, es necesario crear el entorno virtual y sincronizar el estado de las dependencias (aunque se trate de una dependencia vacía, la primera sincronización generará el archivo uv.lock).
- Crear un entorno virtual (
uv venv)::
aunqueuv syncy otros comandos crean automáticamente.venvpero también puede crearse explícitamente:# 创建默认的 .venv 环境 (uv 会根据 .python-version 或系统查找合适的 Python) # 这个 .venv 会在当前项目目录下创建 uv venv # 创建时指定 Python 版本 uv venv --python 3.11 # 指定自定义环境名称 (不常用,因为 uv 生态默认与 .venv 配合) uv venv my_custom_envSi se requiere un entorno de funcionamiento manual (por ejemplo, utilizando un
uvherramienta gestionada), entonces deberá activarla:# Linux/macOS source .venv/bin/activate # Windows (PowerShell) .venv\Scripts\Activate.ps1 # Windows (CMD) .venv\Scripts\activate.battrabajo: Para la gran mayoría de
uvMando (add,remove,sync,runetc.).No suele ser necesaria la activación manual del entorno(matemáticas) génerouvencontrará y utilizará automáticamente el.venv. - Entorno sincronizado (
uv sync)::
Este es uno de los comandos principales que se utilizan para garantizar que el estado del entorno virtual sea el mismo que el del entorno virtual.pyproject.toml(víauv.lockdocumentos) orequirements.txtEl archivo es precisamente coherente. La primera vez que se ejecuta, lo hará:- recuperar 
pyproject.tomlde la definición de la relación. - Realiza la resolución de dependencias.
 - generando 
uv.lockDocumentación. - existe 
.venv(inicialmente, sólo el propio proyecto puede estar disponible como paquete editable). 
# 在项目根目录运行 uv syncTras la ejecución, verá
.venvSe crea o actualiza el directorio y seuv.lockDocumentación. - recuperar 
 
Gestión de las dependencias (uv add, uv remove, uv lock)
esto es uv Las funciones más utilizadas, cuyo uso se recomienda en función de pyproject.toml del flujo de trabajo.
- Añadir una dependencia (
uv add):
Añada el paquete alpyproject.toml(utilizado como expresión nominal)[project.dependencies]y automáticamente instala o actualiza.venvmedio ambiente. Al mismo tiempouv.lockTambién se actualizará.# 添加最新稳定版的 pandas uv add pandas # 添加 requests,并指定版本约束 uv add "requests>=2.20,<3.0" # 添加开发依赖 (如测试框架 pytest),会写入 [tool.uv.dev-dependencies] uv add pytest --dev uv add ruff --dev # 从 Git 仓库添加依赖 uv add git+https://github.com/psf/requests.git # 添加本地路径的包 (以可编辑模式安装) uv add -e ../my_local_library - Eliminar dependencias (
uv remove):
a través de (un hueco)pyproject.tomlelimina el paquete especificado del.venvpara desinstalarlo y desinstalar las dependencias que ya no sean necesarias.# 移除 pandas uv remove pandas # 移除开发依赖 pytest uv remove pytest --dev - Actualización de las dependencias:
- Actualice todas las dependencias a 
pyproject.tomlLa última versión permitida por las restricciones en y regenerar eluv.lock::# 1. 更新 lock 文件 uv lock --upgrade # 2. 应用 lock 文件更新到环境 uv sync - Actualice sólo determinados paquetes a la última versión:
# 方法一:指定包更新 lock 文件,然后同步 uv lock --upgrade-package requests uv sync # 方法二:直接 'add' 最新版 (也会更新 lock 和环境) uv add requests@latest 
 - Actualice todas las dependencias a 
 - Edición manual 
pyproject.tomlemperatriz:
Si modifica directamente elpyproject.tomlen el archivo, deberá realizar los dos pasos siguientes para que los cambios surtan efecto:uv lock:: Basado enpyproject.tomlEl nuevo contenido recalcula las relaciones y actualiza eluv.lockDocumentación.uv sync:: Willuv.lockEl estado del archivo se sincroniza con el archivo.venvEntornos virtuales.
 
Ejecute el código y los comandos (uv run)
uv run sea uv Se trata de una función muy práctica. Le permite crear un archivo en el uv Ejecución en el contexto de un entorno virtual gestionado Python script o cualquier comando.No es necesario activar manualmente el entorno de antemano. Esto es uv Una de las características clave de un flujo de trabajo racionalizado que merece la pena dominar.
Principio de funcionamiento:
Cuando ejecute la función uv run <command> [args...] La hora:
- Descubrimiento automático del entorno::
uvbuscará automáticamente el directorio actual y el directorio padre del archivo.venvEntornos virtuales. - Ejecución del entorno de configuración interno:
- con respecto a 
uv run python your_script.pydicha orden.uvllamará directamente al.venvdel directorioPythonIntérprete (.venv/bin/pythontal vez.venv/Scripts/python.exe) para ejecutar el script. - con respecto a 
uv run pytest tests/tal vezuv run ruff format .dicha orden.uvasegúrese deDentro del proceso hijo que ejecuta el comandoEl interino será.venv/bin(o.venv/Scripts) al sistemaPATHen la parte superior de las variables de entorno. De esta forma, aunque no actives el entorno, el sistema operativo podrá encontrar y ejecutar las herramientas de línea de comandos instaladas en el entorno virtual (como el comandopytest,ruff). 
 - con respecto a 
 
¿Cómo se ejecuta un archivo Python?
Para ejecutar el proyecto Python (por ejemplo src/my_package/main.py o el directorio raíz del app.py), que se recomienda:
uv run python src/my_package/main.py
# 或者
uv run python app.py
vanguardia:
- No requiere activación manual: elimina la necesidad de introducir 
source .venv/bin/activatetal vez.venv\Scripts\Activate.ps1La molestia de la - Garantía de coherencia medioambientalAsegúrese de que su código y sus herramientas se ejecutan siempre en el entorno virtual correcto para la configuración de su proyecto.
 - Simplificación de los guiones CI/CDEn procesos automatizados como 
GitHub Actions,GitLab CI) puede utilizarse directamente en eluv runRealice tareas como pruebas, construcción y despliegue sin tener que lidiar con la compleja lógica de activación de entornos. 
más uv run ejemplo típico:
# 运行安装在环境中的 pytest 测试
uv run pytest tests/
# 运行安装在环境中的 ruff 代码格式化
uv run ruff format .
# 运行任意系统命令,uv 会确保 .venv/bin 在 PATH 中
uv run alembic upgrade head
# 向脚本传递参数
uv run python your_script.py --input data.csv --output results.json
¿Cuándo tengo que activarlo manualmente?
Activación manual (source activate o comandos similares) se ha reducido considerablemente. Probablemente principalmente en la misma sesión de Shell que necesita:
- Ejecución interactiva frecuente de varios comandos que dependen del entorno virtual (por ejemplo, teclear directamente el comando 
pythonIr al intérprete y luego alpytestY otra vez.ruff). - Utilizar algunas variables de entorno específicas que dependen de la configuración de la secuencia de comandos de activación (distintas de la variable de entorno 
PATH(distintos de) los noPythonHerramientas. 
Pero para la mayoría de las tareas de desarrollo cotidianas, eluv run La gestión automatizada del medio ambiente es más cómoda y eficaz.
utilizar requirements.txt (compatible con el flujo de trabajo)
aunque uv Recomendado pyproject.tomlpero también es totalmente compatible con los requirements.txt flujos de trabajo, y proporciona pip Interfaz de mando compatible y más rápida.
- Instalar dependencias (
uv pip install):# 安装单个包 uv pip install flask # 从 requirements 文件安装 uv pip install -r requirements.txt # 可以同时指定多个文件 uv pip install -r requirements.txt -r requirements-dev.txt # 安装当前项目 (以可编辑模式) uv pip install -e . - Desinstalación de dependencias (
uv pip uninstall):uv pip uninstall flask # 从文件批量卸载 uv pip uninstall -r requirements-to-remove.txt - Generar una lista de dependencias (
uv pip freeze):# 输出当前环境安装的所有包 (类似 pip freeze) uv pip freeze > requirements.lock.txt # 常用于生成锁定文件 - Compilar dependencias (
uv pip compile) (Recomendadorequirementsflujo de trabajo):
Este planteamiento es similar al depip-tools. Usted mantiene unrequirements.in(que sólo contiene las dependencias directas) y, a continuación, utilice el archivouvGenerar la versión exacta delrequirements.txtBloquea el archivo.# requirements.in 内容示例: # flask # requests>=2.25 # 生成 requirements.txt uv pip compile requirements.in -o requirements.txt # 为开发环境编译 (假设有 requirements-dev.in) # uv pip compile requirements-dev.in -o requirements-dev.txt - Entorno sincronizado (
uv pip sync):
Basado en uno o variosrequirements.txtEl contenido del archivo se sincroniza con precisión con el entorno virtual: se instalan los paquetes que faltan y se eliminan los redundantes.# 同步主依赖和开发依赖 uv pip sync requirements.txt requirements-dev.txt - Ver paquetes instalados (
uv pip list,uv pip show,uv pip tree):uv pip list # 列出已安装的包和版本 uv pip show flask # 显示 flask 包的详细信息 uv pip tree # 以树状结构显示依赖关系 
Gestión de las versiones de Python (uv python)
uv Descarga, gestión y selección integradas Python de la función, similar a la pyenv. (Recuerde que puede hacerlo a través del UV_PYTHON_INSTALL_DIR Las variables de entorno configuran estos Python (posición de montaje)
- Lista de versiones disponibles e instaladas (
uv python list):# 列出已安装和当前使用的版本 uv python list # 显示所有可供下载的补丁版本 # uv python list --all-versions # 只显示已安装的版本 uv python list --only-installed - Instale la versión de Python (
uv python install):# 安装最新的稳定版 (如果尚未安装) uv python install # 安装特定版本 uv python install 3.11.5 # 安装 3.10 系列的最新可用版 uv python install 3.10uvenviará elPythonInstálelo en su directorio gestionado (uv python dirLa ruta se puede ver, sujeto aUV_PYTHON_INSTALL_DIRimpacto). - Desinstalar la versión de Python (
uv python uninstall):uv python uninstall 3.10.8 # 卸载 3.11 系列所有已安装版本 uv python uninstall 3.11 - Corregida la versión Python del proyecto (
uv python pin):
Crear o actualizar en el directorio actual.python-versionque declara que el proyecto debe utilizar el archivoPythonVersión.uv python pin 3.11más allá de
uv venv,uv run,uv syncy otros comandos encontrarán y utilizarán preferentemente esta versión. - Busque el intérprete de Python (
uv python find):# 查找匹配 3.12 的 Python 解释器路径 uv python find 3.12 
Gestionar herramientas globales (uv tool)
uv Podría ser como pipx Como siempre, instale y ejecute el programa global Python CLI herramientas, y aislar cada herramienta en un entorno separado para evitar conflictos de dependencias. (Del mismo modo, la ubicación de almacenamiento de las herramientas se puede cambiar con la opción UV_TOOL_INSTALL_DIR configuración de variables de entorno)
- Herramientas de ejecución (aplicación ad hoc, etc.) 
uv tool runtal vezuvx):
Descarga temporalmente (si es necesario) y ejecuta la herramienta, y no la retiene después de la ejecución. Esto es muy práctico para herramientas de un solo uso.uvxseauv tool runLa forma abreviada.# 运行 ruff 检查当前目录,临时下载 ruff uv tool run ruff check . # 使用简写 uvx uvx ruff check . # 如果命令名 (http) 和包名 (httpie) 不同,使用 --from uvx --from httpie http https://example.com - Instalación de herramientas globales (
uv tool install):
Instale la herramienta y sus dependencias en el directoriouvy vincular su ejecutable a la ruta del usuario (puede ser necesario reiniciar el terminal o configurar manualmente elPATH(para poder llamarlo directamente). Esto es similar alpipx install.uv tool install black uv tool install httpieUna vez instalado, en teoría puede ejecutarse directamente desde cualquier lugar
black .tal vezhttp https://example.com. - Lista de herramientas instaladas (
uv tool list):uv tool list - Herramienta de actualización (
uv tool upgrade):uv tool upgrade black # 升级所有已安装工具 # uv tool upgrade --all - Herramientas de desinstalación (
uv tool uninstall):uv tool uninstall black - Ver el directorio de instalación de la herramienta (
uv tool dir):
demuestreuvLa ruta raíz donde se almacenan las herramientas globales y sus entornos (sujeta a la directivaUV_TOOL_INSTALL_DIRimpacto). 
Gestión de la memoria caché (uv cache)
uv Utilice la caché global para acelerar la descarga de paquetes y el proceso de compilación. (Se puede acceder a la ubicación de la caché mediante la opción UV_CACHE_DIR configuración de variables de entorno)
- Borrar la caché (
uv cache clean):
Borrar todouvContenido en caché. Puede utilizarse para resolver posibles problemas de contaminación de la caché o para liberar espacio en disco.uv cache clean - Mostrar el directorio de caché (
uv cache dir):
Ver la actualidaduvLa ubicación donde se almacena el archivo de caché (sujeto aUV_CACHE_DIRimpacto). 
Gestión de proyectos con un único guión
Para algunos widgets o scripts sencillos, la opciónuv Admite un enfoque de gestión muy ligero: incrustar los metadatos y las dependencias del proyecto directamente en los Python en un bloque especial de comentarios en la cabecera del script.
- Script de inicialización (
uv init --script):# 创建一个名为 my_script.py 的脚本,并指定 Python 版本要求 uv init --script my_script.py --python ">=3.10"Esto será en el
my_script.pyAl principio del fichero se genera un bloque de comentarios similar al siguiente:#!/usr/bin/env python # /// script # requires-python = ">=3.10" # dependencies = [ # ] # /// import sys def main() -> None: print(f"Hello from {sys.argv[0]}!") if __name__ == "__main__": main() - Añadir/eliminar dependencias de script (
uv add/remove --script):
Puede utilizarse directamenteaddtal vezremoveorden, junto con la--scriptpara modificar la lista de dependencias en la cabecera del script.# 为 my_script.py 添加 requests 依赖 uv add --script my_script.py requests # 从 my_script.py 移除 requests 依赖 uv remove --script my_script.py requestsEstos comandos modifican directamente la cabecera del archivo de script
dependenciesLista. - Ejecute el script (
uv run):
Uso directouv runEl script puede ejecutarse.uv run my_script.pyuvlee automáticamente los metadatos de la cabecera del script, crea un entorno virtual temporal bajo demanda, instala las dependencias declaradas en él y, a continuación, ejecuta el script. Este enfoque es ideal para distribuir un único script autocontenido.PythonGuión de herramientas. 
Perspectivas de futuro y recomendaciones
uv Se trata, sin duda, de un proyecto ambicioso y de rápido crecimiento. Se basa en Rust Las ventajas de rendimiento y una interfaz unificada y bien diseñada prometen mejorar significativamente el Python Experiencia en gestión de paquetes y entornos para desarrolladores. Sus valores fundamentales sontemporesponder cantandoConforme.
(adelante, hazlo) sin dudarlo uv Relativamente joven, el ecosistema (por ejemplo, integraciones profundas de IDE, recursos de tutoriales de terceros) sigue creciendo rápidamente y los comandos o comportamientos pueden ser ligeramente modificados entre versiones debido a su iteración activa (se recomienda mantener un ojo en su registro de cambios).
Pero por el momento.uv La funcionalidad básica ha sido bastante estable y robusta.
sugerencia:
- con respecto aentrante 
Pythonevento deportivoSe recomienda encarecidamente la adopción directa deuv. Ofrece una experiencia de gestión refrescante y eficaz desde el primer momento. - Para aquellosSufrimiento de las cadenas de herramientas existentes (p. ej. 
pip+virtualenv+pip-tools(Combinado) la complejidad o los problemas de rendimiento plagande desarrolladores y equipos.uves una alternativa muy atractiva y merece la pena invertir tiempo en evaluarla y migrar para probarla. - Para aquellos que han estado utilizando profundamente 
Poetrytal vezPDMy se basan en sus características avanzadas específicas (por ejemplo, complejos sistemas de plug-ins, gestión de procesos de liberación de granularidad fina), la migración puede requerir una evaluación más cuidadosa, sopesando lauvLa rapidez y sencillez que conlleva frente a la posible pérdida de funciones específicas. 
uv se está convirtiendo Python Una fuerza a tener en cuenta en los flujos de trabajo de desarrollo, su aparición puede ser tan importante como el ruff Como, en el Python La comunidad ha desencadenado una nueva ronda de innovación de herramientas. Su futuro merece toda nuestra atención.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial  Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...




