1
0
mirror of https://github.com/tiyn/wiki.git synced 2026-07-26 04:21:34 +02:00

Python: Created Own uv Entry

This commit is contained in:
2026-07-14 02:22:38 +02:00
parent 3bf8cb6645
commit 25733ecad8
3 changed files with 99 additions and 49 deletions

View File

@@ -20,5 +20,9 @@ across distributions.
These formats are not package managers.
They distribute standalone applications that can run independently of the system package database.
- [AppImage](/wiki/linux/appimage.md)
- [Flatpak](/wiki/linux/flatpak.md)
- [AppImage](/wiki/linux/appimage.md) packages applications together with their dependencies in a
single executable file.
- [Flatpak](/wiki/linux/flatpak.md) distributes sandboxed desktop applications across different
Linux distributions.
- [uv](/wiki/programming_language/python/uv.md) manages Python installations, virtual environments,
project dependencies and Python-based command-line tools.

View File

@@ -11,24 +11,9 @@ You can install python using various ways.
Using various [package managers](/wiki/linux/package_manager.md) the current python version can be
easily installed.
Additionally, a [pyenv](#pyenv-installation), [uv](#uv-installation) or
Additionally, a [pyenv](#pyenv-installation), [uv](/wiki/programming_language/python/uv.md) or
[manual installation](#manual-installation) can be done to get a specific older version for projects.
### uv Installation
[uv](https://docs.astral.sh/uv/) is a python package and project manager.
It can manage python versions.
Versions can be installed and set for the current directory and subdirectories as shown in the
following commands where `<python-version>` is the python version.
```sh
uv python install <python-version>
uv python pin <python-version>
```
uv can also be used to manage [virtual environments](#uv-virtual-environments).
### pyenv Installation
With [pyenv](https://github.com/pyenv/pyenv) you can easily switch between different versions.
@@ -141,35 +126,8 @@ to it and run `pipreqs` (install it if not already done).
There are various options to use virtual environments.
The first and most commonly used option is [venv](#venv-virtual-environments).
A more modern and arguably better approach is using [uv](#uv-virtual-environments).
#### uv Virtual Environments
Since uv is a project-based tool the following command has to be used to create a project where
`<path>` is the path to the project directory.
If it is omitted the project will be created in the current working directory.
```sh
uv init <path>
```
Additionally, this command can be expanded with flags.
To create the most basic form of a project without a `README.md` the `--bare` flag can be used.
To use uv as a virtual environment similar to venv the following command can be invoked inside a
project directory.
It will create a `.venv` directory containing the `bin/activate` file.
```sh
uv venv
```
Packages can then be installed using the following command.
`<package>` is the name of the package to install.
```sh
uv add <package>
```
A more modern and arguably better approach is using
[uv](/wiki/programming_language/python/uv.md#virtual-environments).
#### venv Virtual Environments
@@ -218,10 +176,16 @@ Alternatively local package manager like the
[ones of various Linux distributions](/wiki/linux/package_manager.md) can sometimes be used to
install packages globally.
Due to different package versions (especially on rolling release distributions) this can fail.
If it doesnt work the packages can be installed globally using `pip` together with the
If it doesn't work the packages can be installed globally using `pip` together with the
`--break-system-packages` flag.
This flag is to be used with care.
A generally more favourable approach is to install modules using
[virtual environments](#using-virtual-environments).
This, however, is only practical for projects although some virtual environment package managers
such as [uv](/wiki/programming_language/python/uv.md) can also handle global installation of Python
pacakges.
This section addresses various different modules.
### scikit-learn
@@ -240,7 +204,7 @@ As explained in the
[cuml guide on zero code change acceleration](https://docs.rapids.ai/api/cuml/latest/cuml-accel/)
only the following two lines have to be added to run the scikit-learn algorithms on the GPU.
Additionally, cuml has to be installed using a [Python package manager](#using-virtual-environments)
like [uv](#uv-virtual-environments).
like [uv](/wiki/programming_language/python/uv.md#installing-packages).
It is important that these lines are put before importing any scikit-learn packages.
```py

View File

@@ -0,0 +1,82 @@
# uv
[uv](https://docs.astral.sh/uv/) is a fast [Python](/wiki/programming_language/python.md) package,
project and version manager.
It can install and manage Python versions, create virtual environments and manage project
dependencies.
## Setup
Refer to the [official installation guide](https://docs.astral.sh/uv/getting-started/installation/)
to install `uv` on your operating system.
## Usage
This section addresses the usage of uv.
### Managing Python Versions
Python versions can be installed and pinned for the current project by replacing
`<python-version>` with the desired version.
```sh
uv python install <python-version>
uv python pin <python-version>
```
### Creating a Project
A new project can be created by replacing `<path>` with the desired project
directory.
If omitted, the project will be created in the current working directory.
```sh
uv init <path>
```
To create a minimal project without a `README.md`, use the `--bare` option.
### Virtual Environments
Inside a project directory, create a virtual environment with:
```sh
uv venv
```
This creates a `.venv` directory containing the virtual environment.
### Installing Packages
Packages can be added to the current project by replacing `<package>` with the
desired package.
```sh
uv add <package>
```
### Installing CLI Tools
Besides managing projects and virtual environments, `uv` can also install
[Python-based](/wiki/programming_language/python.md) command-line tools globally.
Each tool is installed into its own isolated environment while remaining available from the command
line.
Install a tool by replacing `<package>` with its name.
```sh
uv tool install <package>
```
Installed tools remain available independently of any project or virtual environment.
Project dependencies, however, should be managed inside the corresponding project using commands
such as the following.
```sh
uv add <package>
uv sync
```
This separation avoids dependency conflicts between globally installed command- line tools and
project-specific Python packages.