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