diff --git a/20.01. Programming/Python/uv.md b/20.01. Programming/Python/uv.md index d4a5b97..fad5ad1 100644 --- a/20.01. Programming/Python/uv.md +++ b/20.01. Programming/Python/uv.md @@ -213,6 +213,26 @@ dependencies = [ 先執行 `uv lock` 來將 `pyproject.toml` 的內容更新到 `uv.lock` ,再執行 `uv sync` 來更新環境與套件。 +### 建立虛擬環境 +專案資料夾已經建立好了,這時候如果你透過 `uv run main.py` 去執行你的 py 檔,你會發現 uv 幫你建立了一個 `.venv` 的虛擬環境。 +這個虛擬環境的 Python 版本就是當初你在 `uv init` 時所指定的版本。 + +在 Windows,你可以透過 `.venv\Script\activate.bat` 來啟動虛擬環境。 +用 `deactivate` 來關閉虛擬環境。 + +如果你還需要其他的虛擬環境,可以用 `uv venv py311 --python 3.11` 來建立不同的虛擬環境。 +以上面例子來說,新建立了一個 Python 3.11 的虛擬環境,資料夾名字是 `py311`。你可以根據自己的需要更換資聊夾名稱。 + +要注意的是,`uv add`、`uv remove` 這些動作還是作用在一開始的版本上(也就是 `.python-version` 裡面的版本)。 + +如果要針對某一個新增的虛擬環境安裝套件的話,在啟用該虛擬環境之後,用 `uv pip install` 安裝即可。 + +以上面例子來說,如果我們要對 `py311` 這個環境新增套件(例如 pyinstaller),我們要: +1. 先啟用虛擬環境,`source py311/script/activate`。Windows 則是 `py311/script/activate.bat` +2. 安裝:`uv pip install pyinstaller`。 +3. 離開虛擬環境:`deactivate`。 + + # 方便的 `uv tool` ## 安裝工具 之前安裝的套件都是給某個檔案或是資料夾使用,但是 Python 世界裡有些套件是可以單獨使用的,像是 yt-dlp 可以在命令列當作一個工具來用: