一文詳解如何使用uv創(chuàng)建并管理一個(gè)新的空白的python項(xiàng)目
一、安裝 uv
# macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows (PowerShell) powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # 或使用 pip pip install uv
二、本地項(xiàng)目使用 uv 進(jìn)行管理
2.1創(chuàng)建新項(xiàng)目
# 創(chuàng)建項(xiàng)目目錄 mkdir myproject cd myproject # 初始化項(xiàng)目(創(chuàng)建虛擬環(huán)境、pyproject.toml等) uv init
或者使用一步到位的命令:
uv init myproject --python 3.11 # 指定Python版本和生成項(xiàng)目名稱`myproject` # 如果想要將當(dāng)前目錄作為項(xiàng)目,那么請(qǐng)使用: uv init --python 3.12 cd myproject
2.2項(xiàng)目結(jié)構(gòu)
初始化后會(huì)生成:
myproject/
├── pyproject.toml # 項(xiàng)目配置和依賴
├── README.md # 項(xiàng)目說明
├── .gitignore # Git忽略文件
└── src/
└── myproject/ # 包源代碼
└── __init__.py
2. 3管理依賴
# 添加依賴 uv add requests pandas numpy # 添加開發(fā)依賴 uv add --dev pytest black mypy # 從requirements.txt安裝 uv pip compile requirements.txt -o pyproject.toml # 安裝所有依賴 uv sync
2.4運(yùn)行和管理
# 運(yùn)行Python腳本 uv run python script.py # 啟動(dòng)虛擬環(huán)境shell uv shell # 運(yùn)行測試 uv run pytest # 查看依賴樹 uv tree
2.5常用工作流示例
示例pyproject.toml:
[project]
name = "myproject"
version = "0.1.0"
description = "My awesome project"
dependencies = [
"requests>=2.28.0",
"pandas>=2.0.0",
]
[project.optional-dependencies]
dev = ["pytest>=7.0.0", "black>=23.0.0"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
常用命令總結(jié):
# 創(chuàng)建項(xiàng)目 uv init <project-name> # 添加/移除依賴 uv add <package> uv remove <package> # 更新所有依賴 uv sync --upgrade # 凍結(jié)依賴版本 uv lock # 清理緩存 uv cache clean
三、與現(xiàn)有項(xiàng)目集成
# 在現(xiàn)有項(xiàng)目中初始化uv cd existing-project uv init --force # 保留現(xiàn)有pyproject.toml # 從現(xiàn)有環(huán)境遷移 uv pip freeze > requirements.txt uv add -r requirements.txt
uv 的優(yōu)勢在于速度快、集成好,同時(shí)支持依賴管理和虛擬環(huán)境管理。使用 uv 后,通常不再需要單獨(dú)安裝 pip、virtualenv、pip-tools 等工具。
四、當(dāng)你拿到一個(gè)使用 uv 管理的項(xiàng)目
只需要三步就能夠快速配置:1. 創(chuàng)建虛擬環(huán)境 2. 激活虛擬環(huán)境 3. 同步項(xiàng)目的依賴
4.1 先安裝 uv(如果還沒裝)
# Windows(PowerShell) irm https://astral.sh/uv/install.ps1 | iex # macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh
4.2 進(jìn)入項(xiàng)目根目錄
cd 你的項(xiàng)目文件夾
4.3 創(chuàng)建并激活虛擬環(huán)境(uv 風(fēng)格)
# 創(chuàng)建虛擬環(huán)境(自動(dòng)用項(xiàng)目 Python 版本) uv venv # 你可以指定本地 python 路徑 uv venv --python "your python path." # 激活 # Windows .venv\Scripts\activate # macOS/Linux source .venv/bin/activate
4.4 安裝所有依賴(最關(guān)鍵)
uv sync
這會(huì)根據(jù):
pyproject.tomluv.lock
精確安裝和原項(xiàng)目一模一樣的依賴版本。
4.5. 運(yùn)行項(xiàng)目
按項(xiàng)目原本的啟動(dòng)方式運(yùn)行即可,例如:
uv run main.py uv run fastapi dev main.py
最常用的 uv 命令(記這 5 個(gè)就夠)
uv add 包名:安裝包uv remove 包名:卸載包uv sync:同步依賴uv run 命令:在虛擬環(huán)境里運(yùn)行uv pip list:看已安裝包
到此這篇關(guān)于一文詳解如何使用uv創(chuàng)建并管理一個(gè)新的空白的python項(xiàng)目的文章就介紹到這了,更多相關(guān)uv創(chuàng)建并管理python項(xiàng)目內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)取余操作的簡單實(shí)例
在本篇文章里小編給各位分享的是一篇關(guān)于python實(shí)現(xiàn)取余操作的簡單實(shí)例內(nèi)容,需要的朋友們可以參考下。2020-08-08
Python偏函數(shù)實(shí)現(xiàn)原理及應(yīng)用
這篇文章主要介紹了Python偏函數(shù)實(shí)現(xiàn)原理及應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python?Serial串口的簡單數(shù)據(jù)收發(fā)方式
這篇文章主要介紹了Python?Serial串口的簡單數(shù)據(jù)收發(fā)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Python中使用kitti數(shù)據(jù)集實(shí)現(xiàn)自動(dòng)駕駛(繪制出所有物體的行駛軌跡)
這篇文章主要介紹了Python中使用kitti數(shù)據(jù)集實(shí)現(xiàn)自動(dòng)駕駛——繪制出所有物體的行駛軌跡,本次內(nèi)容主要是畫出kitti車的行駛的軌跡,需要的朋友可以參考下2022-06-06

