[Python] 引用路徑與多版本共存教學

更新 發佈閱讀 5 分鐘

許多開發者在 Windows 上安裝了多個 Python 版本(例如 3.8、3.11、WinPython 3.12 等),

卻常常遇到「到底現在執行的是哪個 Python?」的困惑。

甚至有時候明明沒有把某個版本加入環境變數(PATH),

但在該資料夾中執行 python 時,卻發現系統竟然使用了那個版本。

這篇文章將完整說明 Windows 如何尋找 Python 的執行檔

並教你如何控制與切換版本,避免套件或環境衝突。


🧩 一、Windows 的執行檔搜尋順序(PATH Lookup Order)

當你在命令提示字元(CMD)輸入:

python

Windows 並不是「神奇地知道」哪個 Python 要執行,

它會按照一定順序依次搜尋:

搜尋順序說明

1️⃣目前所在的資料夾(Current Working Directory)

2️⃣系統環境變數 PATH 中登錄的每個資料夾(從前往後找)

3️⃣一些特殊系統目錄,如 C:\Windows\System32、WindowsApps 等

第一個被找到的 python.exe 就會被執行


🧠 二、實際案例:為什麼沒加 PATH 還是能執行?

假設你的環境如下:

C:\Users\crab1\Downloads\WPy64-312101\python\python.exe   ← WinPython 3.12
C:\Users\crab1\AppData\Local\Programs\Python\Python311\python.exe
C:\Users\crab1\AppData\Local\Programs\Python\Python38\python.exe

然後你打開 CMD,進入 WinPython 的資料夾:

cd C:\Users\crab1\Downloads\WPy64-312101\python

這時候輸入:

python --version

結果會顯示:

Python 3.12.10

即使你根本沒有把 WinPython 加入環境變數,它仍然被優先使用。

原因就是——Windows 會優先搜尋「目前所在的資料夾」


🔍 三、如何確認目前執行的是哪個 Python?

非常簡單,輸入以下指令:

where python

輸出會顯示所有找到的 Python 路徑,依照優先順序排列,例如:

C:\Users\crab1\Downloads\WPy64-312101\python\python.exe
C:\Users\crab1\AppData\Local\Programs\Python\Python311\python.exe
C:\Users\crab1\AppData\Local\Programs\Python\Python38\python.exe
C:\Users\crab1\AppData\Local\Microsoft\WindowsApps\python.exe

第一行就是目前被執行的版本。

你也可以用 Python 自己來確認:

python -c "import sys; print(sys.executable)"

輸出會顯示:

C:\Users\crab1\Downloads\WPy64-312101\python\python.exe

⚙️ 四、明確指定要使用的版本

如果你同時安裝了多個版本,

可以直接用「完整路徑」執行,避免混淆:

# 執行 Python 3.8
C:\Users\crab1\AppData\Local\Programs\Python\Python38\python.exe

# 執行 Python 3.11
C:\Users\crab1\AppData\Local\Programs\Python\Python311\python.exe

# 執行 WinPython 3.12
C:\Users\crab1\Downloads\WPy64-312101\python\python.exe

同理,安裝套件時也可以針對特定版本:

C:\Users\crab1\Downloads\WPy64-312101\python\python.exe -m pip install numpy

這樣就不會誤裝到系統的 Python 3.8 或 3.11 之中。

留言
avatar-img
螃蟹_crab的沙龍
167會員
322內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2025/10/30
💻 在同一台電腦上讓程式互通:TCP/IP Socket 原理與實作 🧠 一、為什麼同一台電腦也能用 TCP/IP 通訊? 很多人以為 TCP/IP 只用在「跨網路」的通訊,其實不然。 TCP/IP 是一種協定(Protocol),而非實體連線。 Windows、macOS、Linux
Thumbnail
2025/10/30
💻 在同一台電腦上讓程式互通:TCP/IP Socket 原理與實作 🧠 一、為什麼同一台電腦也能用 TCP/IP 通訊? 很多人以為 TCP/IP 只用在「跨網路」的通訊,其實不然。 TCP/IP 是一種協定(Protocol),而非實體連線。 Windows、macOS、Linux
Thumbnail
2025/09/26
測試Python 3.12.10版本與目前使用的3.87版本 差異 參考以下文章 在 Python 3.8.6 vs 3.12.10 上跑同一組程式,比較不同類型任務的效能差異。 成果彙整 程式碼參考如下 🧮 數值運算密集 (CPU bound) import time def
Thumbnail
2025/09/26
測試Python 3.12.10版本與目前使用的3.87版本 差異 參考以下文章 在 Python 3.8.6 vs 3.12.10 上跑同一組程式,比較不同類型任務的效能差異。 成果彙整 程式碼參考如下 🧮 數值運算密集 (CPU bound) import time def
Thumbnail
2025/09/04
1. 什麼是物件的記憶體位置? 在 Python 中,每個物件在記憶體中都有一個唯一的位置,這個位置可以用 id() 函式查詢。 這個 id 在 CPython(最常見的 Python 實作)中,實際上就是物件的記憶體地址。 a = [1, 2, 3] print(id(a))
2025/09/04
1. 什麼是物件的記憶體位置? 在 Python 中,每個物件在記憶體中都有一個唯一的位置,這個位置可以用 id() 函式查詢。 這個 id 在 CPython(最常見的 Python 實作)中,實際上就是物件的記憶體地址。 a = [1, 2, 3] print(id(a))
看更多
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
這篇指南提供逐步教學,引導您在Visual Studio Code中設定Python開發環境,包括安裝Python和VS Code、安裝Python擴充套件、設定Python直譯器以及撰寫和執行第一個Python程式,讓Python新手也能輕鬆上手。
Thumbnail
這篇指南提供逐步教學,引導您在Visual Studio Code中設定Python開發環境,包括安裝Python和VS Code、安裝Python擴充套件、設定Python直譯器以及撰寫和執行第一個Python程式,讓Python新手也能輕鬆上手。
Thumbnail
建置 vscode + python 開發環境的完整流程,詳細且附圖
Thumbnail
建置 vscode + python 開發環境的完整流程,詳細且附圖
Thumbnail
1. 詳細的 python 安裝流程(不需要 anaconda) 2. 透過「命令提示字元」啟動 python 的方法
Thumbnail
1. 詳細的 python 安裝流程(不需要 anaconda) 2. 透過「命令提示字元」啟動 python 的方法
Thumbnail
創建 python 虛擬環境 (不需要安裝 Anaconda)
Thumbnail
創建 python 虛擬環境 (不需要安裝 Anaconda)
Thumbnail
教大家如何使用 pip 備份 python 虛擬環境,並移植到其他電腦之中,詳細圖文解說
Thumbnail
教大家如何使用 pip 備份 python 虛擬環境,並移植到其他電腦之中,詳細圖文解說
Thumbnail
在Microsoft store 搜尋 kail linux 並安裝(這裡假設你已經先安裝WSL) 之後執行kail linux 終端機 依序輸入以下指令: 上面主要是做一些更新(update and upgrade),然後安裝python3, python3-venv(虛擬環境)之後建立一個名為b
Thumbnail
在Microsoft store 搜尋 kail linux 並安裝(這裡假設你已經先安裝WSL) 之後執行kail linux 終端機 依序輸入以下指令: 上面主要是做一些更新(update and upgrade),然後安裝python3, python3-venv(虛擬環境)之後建立一個名為b
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News