在 Windows 11 上,你不能直接在同一個虛擬環境(venv)裡「降級」Python,因為虛擬環境是與建立它的那個 Python 執行檔(你目前是 3.13)綁定的。
要切換到 Python 3.11,最正確且穩定的做法是:安裝 Python 3.11 主程式,並建立一個新的虛擬環境。
以下是標準作業流程:
步驟 1:安裝 Python 3.11
下載 Windows installer (64-bit)。
安裝時請務必勾選:
Add Python to PATH(將 Python 加入路徑)。如果系統已有 3.13,建議選擇
Customize installation,確保它安裝在獨立目錄。
步驟 2:確認 3.11 安裝成功
打開新的 PowerShell 或 CMD,輸入以下指令來確認系統能找到 3.11:
py -3.11 -V
註:Windows 通常會安裝 py 啟動器,這讓你同時管理多個版本。
步驟 3:建立新的 Python 3.11 虛擬環境
回到你的專案目錄(例如 D:\py3_env\),建立一個全新的資料夾來存放 3.11 的環境:
# 1. 切換目錄
cd D:\py3_env\
# 2. 指定使用 Python 3.11 建立虛擬環境 (資料夾取名為 venv311)
py -3.11 -m venv venv311
# 3. 啟動新的環境
.\venv311\Scripts\Activate.ps1
步驟 4:在新環境安裝支援 RTX 5060 的套件
由於 Python 3.11 的相容性遠高於 3.13,現在你可以嘗試安裝更穩定的 PyTorch 版本:
# 升級 pip
python -m pip install --upgrade pip
# 安裝支援 CUDA 12.4 的 PyTorch
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
步驟 5:再次測試(關鍵的一步)
執行你之前的 test_gpu.py:
python .\test_gpu.py
💡 為什麼 3.11 會比 3.13 好?
預編譯二進位檔 (Wheels):大多數 AI 套件(如
torchaudio)現在都完整支援 3.11,但 3.13 因為太新,很多時候只有源碼,沒有編譯好的檔案,導致安裝報錯。算力支援:雖然 RTX 50 系列 (sm_120) 真的很新,但在 3.11 環境下,即便要編譯或偽裝架構,穩定性也會高很多。
補充:如果 3.11 依然報錯 no kernel image
如果在 3.11 下執行 test_gpu.py 還是出現 sm_120 not compatible,請在該環境下執行這行指令再測試:
$env:TORCH_CUDA_ARCH_LIST="9.0"
python .\test_gpu.py
建立完 3.11 環境後,python -V 應該會顯示 3.11.x。請試試看這次能否成功執行運算?
沒有留言:
張貼留言