最終更新 6 months ago

透過 UV 工具創建和管理 Python 虛擬環境,輕鬆安裝套件、更新依賴,並執行腳本。

install_and_manage_uv_tool.sh Raw
1# 從 astral.sh 抓安裝腳本,直接裝 uv 工具,簡單又快速
2curl -Ls https://astral.sh/uv/install.sh | sh
3
4# 或者用 brew 安裝,Mac 用戶的最愛
5brew install uv
6
7# 創一個新的虛擬環境,隔離專案依賴,免得搞亂
8uv venv
9
10# 創一個新的虛擬環境,隔離專案依賴,免得搞亂
11# 用 --python 指定特定 Python 版本,例如 3.11
12uv venv --python 3.11
13
14# 用 uv 的 pip 安裝 requests 套件,抓資料超好用
15uv pip install requests
16
17# 把目前裝的套件跟版本通通寫到 requirements.txt,備份一下
18uv pip freeze > requirements.txt
19
20# 從 requirements.txt 安裝套件,幫你一次搞定依賴
21uv pip install -r requirements.txt
22
23# 直接創虛擬環境再裝 requirements.txt 的套件,一氣呵成
24uv venv && uv pip install -r requirements.txt
25
26# 虛擬環境不要了?直接砍掉重練,沒問題
27uv venv --remove
28
29# 同步虛擬環境的套件,跟 requirements.txt 保持一致,免得出包
30uv pip sync
31
32# 用 uv 跑 Python 程式碼,秀一下 requests 的版本,確認有裝好
33uv python -c "import requests; print(requests.__version__)"
34
35# 從 requirements.in 生出 requirements.txt,管理依賴超方便
36uv pip compile requirements.in
37
38# 建一個新資料夾 myproject,直接切過去,準備好了
39mkdir myproject && cd myproject || exit
40
41# 用 uv 建虛擬環境,專案環境獨立起來,比較安全
42uv venv
43
44# 啟動虛擬環境,開始搞事情
45source .venv/bin/activate
46
47# 裝 numpy 跟 pandas,數據分析的好幫手
48uv pip install numpy pandas
49
50# 又來備份套件清單到 requirements.txt,免得忘記裝啥
51uv pip freeze > requirements.txt
52
53# 更新 uv 自己,保持最新版本,免得落後
54uv self update
55
56# 初始化一個範例專案 example,給新手練手用的
57uv init example
58
59# 進到範例專案資料夾,準備開工
60cd example || exit
61
62# 裝 ruff,Python 程式碼靜態分析工具,幫你檢查 code 品質
63uv add ruff
64
65# 重新解析依賴,更新 lockfile,鎖定版本,免得亂掉
66uv lock
67
68# 照 lockfile 安裝套件,還順便跑安全稽核,幫你顧好
69uv sync
70
71# 開個互動式 Python,用 uv 跑,測試一下環境
72uv run python
73
74# 裝特定版本的 Python,3.10、3.11、3.12 一次來,隨你挑
75uv python install 3.10 3.11 3.12
76
77# 寫個簡單 Python 檔案,抓 astral.sh 網站試試看
78echo 'import requests; print(requests.get("https://astral.sh"))' > example.py
79
80# 針對 example.py 裝 requests,uv 直接幫你處理依賴,挺貼心
81uv add --script example.py requests
82
83# 用 uvx 跑 pycowsay,秀個 "hello world!",小牛圖案超可愛
84uvx pycowsay 'hello world!'
85
86# 用 Docker 跑 uv CLI,看看說明文件,測試環境也 OK
87docker run --rm -it ghcr.io/astral-sh/uv:debian uv --help
88
virtual_environment_aliases.sh Raw
1# 定義一個叫 venvon 的別名,用來啟動虛擬環境
2# 如果 .venv 資料夾存在,就直接 source 啟動它,超方便
3# 如果沒找到 .venv,就跟你說 ".venv 不存在",免得你猜半天
4alias venvon='[ -d .venv ] && source .venv/bin/activate || echo ".venv 不存在"'
5
6# 定義一個叫 venvoff 的別名,用來關閉虛擬環境
7# 如果 deactivate 指令可以用,就直接關閉環境,乾淨俐落
8# 如果沒啟動過環境,就跟你說 "目前沒有虛擬環境可關閉",不會亂搞
9alias venvoff='type deactivate &>/dev/null && deactivate || echo "目前沒有虛擬環境可關閉"'
10