uv/crates
konstin a2b603f8fe Show a better hint for broken PBS venvs
For some reason, I'm encountering broken PBS venvs again (https://github.com/astral-sh/python-build-standalone/issues/380). Instead of showing the obscure error to the user, we point them to the PBS bug and ask them to run `uv venv`.

```
$ uv sync
error: Querying Python at `/tmp/uv/tests/.tmpwXZRTI/temp/.venv/bin/python3` failed with exit status exit status: 1

[stderr]
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = (not set)
  program name = '/tmp/uv/tests/.tmpwXZRTI/temp/.venv/bin/python3'
  isolated = 1
  environment = 0
  user site = 0
  safe_path = 1
  import site = 1
  is in build tree = 0
  stdlib dir = '/install/lib/python3.12'
  sys._base_executable = '/home/konsti/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/bin/python3.12'
  sys.base_prefix = '/install'
  sys.base_exec_prefix = '/install'
  sys.platlibdir = 'lib'
  sys.executable = '/tmp/uv/tests/.tmpwXZRTI/temp/.venv/bin/python3'
  sys.prefix = '/install'
  sys.exec_prefix = '/install'
  sys.path = [
    '/install/lib/python312.zip',
    '/install/lib/python3.12',
    '/install/lib/python3.12/lib-dynload',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'

Current thread 0x000078e48b835740 (most recent call first):
  <no Python frame>
```

```
$ uv-debug sync
  error: Can't use Python at `/tmp/uv/tests/.tmpwXZRTI/temp/.venv/bin/python3`
    Caused by: Python is missing PYTHONHOME. If you are using a managed Python interpreter, this is a known bug (https://github.com/astral-sh/python-build-standalone/issues/380). You can recreate the virtual environment with `uv venv`.
```
2025-12-11 16:08:57 +01:00
..
uv Show a better hint for broken PBS venvs 2025-12-11 16:08:57 +01:00
uv-auth Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-bench Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-bin-install Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-build Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-build-backend Explicitly set EntryType for file entries in tar (#17043) 2025-12-11 10:37:35 +00:00
uv-build-frontend Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-cache Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-cache-info Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-cache-key Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-cli Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-client Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-configuration Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-console Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-dev Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-dirs Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-dispatch Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-distribution Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-distribution-filename Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-distribution-types Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-extract Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-flags Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-fs Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-git Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-git-types Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-globfilter Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-install-wheel Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-installer Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-keyring Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-logging Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-macros Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-metadata Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-normalize Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-once-map Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-options-metadata Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-pep440 Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-pep508 Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-performance-memory-allocator Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-platform Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-platform-tags Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-preview Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-publish Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-pypi-types Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-python Show a better hint for broken PBS venvs 2025-12-11 16:08:57 +01:00
uv-redacted Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-requirements Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-requirements-txt Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-resolver Drop some non-integration exclude-newer tests (#17071) 2025-12-10 14:04:05 +00:00
uv-scripts Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-settings Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-shell Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-small-str Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-state Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-static Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-tool Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-torch Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-trampoline Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-trampoline-builder Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-types Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-version Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-virtualenv Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-warnings Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
uv-workspace Bump version to 0.9.17 (#17058) 2025-12-09 16:36:00 -06:00
README.md Link to Dependency specifiers instead of PEP 508 (#8411) 2024-10-21 14:43:38 -04:00

README.md

Crates

uv-bench

Functionality for benchmarking uv.

uv-cache-key

Generic functionality for caching paths, URLs, and other resources across platforms.

uv-distribution-filename

Parse built distribution (wheel) and source distribution (sdist) filenames to extract structured metadata.

uv-distribution-types

Abstractions for representing built distributions (wheels) and source distributions (sdists), and the sources from which they can be downloaded.

uv-install-wheel-rs

Install built distributions (wheels) into a virtual environment.

uv-once-map

A waitmap-like concurrent hash map for executing tasks exactly once.

uv-pep440-rs

Utilities for interacting with Python version numbers and specifiers.

uv-pep508-rs

Utilities for parsing and evaluating dependency specifiers, previously known as PEP 508.

uv-platform-tags

Functionality for parsing and inferring Python platform tags as per PEP 425.

uv-cli

Command-line interface for the uv package manager.

uv-build-frontend

A PEP 517-compatible build frontend for uv.

uv-cache

Functionality for caching Python packages and associated metadata.

uv-client

Client for interacting with PyPI-compatible HTTP APIs.

uv-dev

Development utilities for uv.

uv-dispatch

A centralized struct for resolving and building source distributions in isolated environments. Implements the traits defined in uv-types.

uv-distribution

Client for interacting with built distributions (wheels) and source distributions (sdists). Capable of fetching metadata, distribution contents, etc.

uv-extract

Utilities for extracting files from archives.

uv-fs

Utilities for interacting with the filesystem.

uv-git

Functionality for interacting with Git repositories.

uv-installer

Functionality for installing Python packages into a virtual environment.

uv-python

Functionality for detecting and leveraging the current Python interpreter.

uv-normalize

Normalize package and extra names as per Python specifications.

uv-requirements

Utilities for reading package requirements from pyproject.toml and requirements.txt files.

uv-resolver

Functionality for resolving Python packages and their dependencies.

uv-shell

Utilities for detecting and manipulating shell environments.

uv-types

Shared traits for uv, to avoid circular dependencies.

uv-pypi-types

General-purpose type definitions for types used in PyPI-compatible APIs.

uv-virtualenv

A venv replacement to create virtual environments in Rust.

uv-warnings

User-facing warnings for uv.

uv-workspace

Workspace abstractions for uv.

uv-requirements-txt

Functionality for parsing requirements.txt files.