2026年1月25日 星期日

轉換 Python 常用指令與工具,改用 uv

 新工具

pipx

安裝 CLI 套件成為系統工具。每個套件都隔離在各自的虛擬環境中。

uv

專案開發用的套件管理工具。

uvx

用於一次性執行;快速安裝和運行 CLI 套件。


指令遷移

Run a script

Python/pip
python main.py
uv
uv run python main.py


Create venv

Python/pip
python -m venv .venv
source .venv/bin/activate
uv
uv venv .venv
source .venv/bin/activate


Install packages

Python/pip
python -m pip install -r requirements.txt 
或是 
pip install -r requirements.txt

uv

uv pip install -r requirements.txt


Create venv and install packages

Python/pip
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

uv

uv pip sync requirements.txt


Run tests

Python/pip
python -m pytest -vv

或是

pytest -vv

uv

uv run pytest -vv


Build package

Python/pip
pip install build
python -m build

uv

uv build


Publish package 

Python/pip
pip install twine
TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --repository-url https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/pypi dist/*

uvx

TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token uvx twine upload --repository-url https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/pypi dist/*

 

Local install

Python/pip
python -m pip install -q -e .[dev]

uv

uv sync --extra dev --quiet

沒有留言: