Ultima attività 6 months ago

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

Revisione 29f3a435a3753bfb31e27bf88149848d5cd7ce58

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