Dernière activité 6 months ago

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

Révision b573dbeeb17b2825b8cc00d49a8047a40ce27cb7

install_and_manage_uv_tool.sh Brut
1# 從 astral.sh 下載並執行安裝腳本,來安裝 uv 工具
2curl -Ls https://astral.sh/uv/install.sh | sh
3
4brew install uv
5
6# 創建一個新的虛擬環境
7uv venv
8
9# 使用 uv 的 pip 安裝 requests 套件
10uv pip install requests
11
12# 將當前安裝的套件及其版本輸出到 requirements.txt 檔案
13uv pip freeze > requirements.txt
14
15# 從 requirements.txt 檔案安裝所需的套件
16uv pip install -r requirements.txt
17
18# 創建一個新的虛擬環境並從 requirements.txt 安裝套件
19uv venv && uv pip install -r requirements.txt
20
21# 移除現有的虛擬環境
22uv venv --remove
23
24# 同步虛擬環境中的套件,確保它們符合 requirements.txt 中的指定
25uv pip sync
26
27# 使用 uv 執行 Python 程式碼,輸出 requests 套件的版本
28uv python -c "import requests; print(requests.__version__)"
29
30# 從 requirements.in 檔案生成 requirements.txt,通常用於管理依賴項
31uv pip compile requirements.in
32
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
50
51# 更新 uv 自身
52uv self update
53
54# 初始化一個範例 uv 專案
55uv init example
56
57# 進入範例專案資料夾
58cd example || exit
59
60# 安裝 ruff(Python 程式碼靜態分析工具)
61uv add ruff
62
63# 重新解析所有依賴並更新 lockfile(鎖定依賴版本)
64uv lock
65
66# 根據 lockfile 安裝所有套件,並執行安全性稽核
67uv sync
68
69
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
78
79# 建立一個簡單的 Python 檔案,並請求一個網頁
80echo 'import requests; print(requests.get("https://astral.sh"))' > example.py
81
82# 對 example.py 使用 uv 安裝所需的 requests 套件
83uv add --script example.py requests
84
85
86
87# 執行 pycowsay 指令顯示 "hello world!"(以小牛圖示顯示訊息)
88uvx pycowsay 'hello world!'
89
90
91# 使用 Docker 執行 uv CLI 並顯示說明文件
92docker run --rm -it ghcr.io/astral-sh/uv:debian uv --help
93
virtual_environment_aliases.sh Brut
1# 定義一個名為 venvon 的別名,用於啟動虛擬環境
2# 如果 .venv 目錄存在,則啟動該虛擬環境
3# 如果 .venv 目錄不存在,則輸出 ".venv 不存在"
4alias venvon='[ -d .venv ] && source .venv/bin/activate || echo ".venv 不存在"'
5
6# 定義一個名為 venvoff 的別名,用於關閉虛擬環境
7# 如果 deactivate 命令存在,則執行 deactivate 來關閉虛擬環境
8# 如果 deactivate 命令不存在,則輸出 "目前沒有虛擬環境可關閉"
9alias venvoff='type deactivate &>/dev/null && deactivate || echo "目前沒有虛擬環境可關閉"'
10