首頁 / 從這裡開始

為什麼 AI 教學都要先裝 Python 和 Node.js?執行環境、套件與虛擬環境一次看懂

作者 JC · 更新於 · 最後查證

重點速覽

因為很多 AI 工具本身就是用 Python 或 JavaScript 寫的程式,要有對應的執行環境(Python 或 Node.js)才能跑,而且這些工具是透過各自的套件管理工具(Python 用 pip,Node.js 用 npm、npx)來下載與安裝。要看一份教學需要哪一個,看它的指令就知道:出現 python、pip、requirements.txt 是 Python;出現 node、npm、npx、package.json 是 Node.js。如果工具有提供官方安裝程式或獨立安裝指令,往往兩個都不用另外裝。

為什麼 AI 教學都要先裝 Python 和 Node.js?因為你要用的 AI 工具,很多本身就是用 Python 或 JavaScript 寫成的程式,電腦裡要先有能「讀懂並執行」這些程式的軟體,工具才跑得起來。這篇不教安裝步驟(各工具的安裝方式請看對應的工具文章),而是說明這兩個東西是什麼、教學裡那些 pip、npm、npx、虛擬環境在做什麼,以及看到「找不到指令」時該怎麼判斷。

Python 和 Node.js 是什麼?

程式語言是寫程式用的語言;寫好的程式碼要有另一個軟體負責執行,這個軟體稱為執行環境(Runtime,讓某種語言的程式能在電腦上跑起來的軟體)。

  • Python 是一種程式語言,也是執行 Python 程式的軟體名稱。負責逐行讀取並執行 Python 程式碼的部分稱為直譯器(Interpreter)。你在終端機輸入 python 或 python3,啟動的就是它。
  • Node.js 是 JavaScript 的執行環境。Node.js 官方的說明是:它是開源、跨平台的 JavaScript 執行環境,把 Google Chrome 核心的 V8 JavaScript 引擎拿到瀏覽器之外執行。所以原本只在網頁裡跑的 JavaScript,也能在你的電腦上讀寫檔案、連網路、當伺服器。

簡單說:Python 和 Node.js 本身不是 AI,它們是 AI 工具的「地基」。一個用 Python 寫的工具,沒有 Python 就跑不起來;一個用 JavaScript 寫的工具,沒有 Node.js 也一樣。

為什麼 AI 工具常用這兩個來發布?

除了程式語言本身,關鍵在套件(Package,別人寫好、打包起來讓你直接拿來用的程式碼)和套件管理工具(Package manager,負責下載、安裝、更新、移除套件的程式)。

項目PythonNode.js
語言PythonJavaScript
執行程式的指令python、python3(Windows 常見 py)node
套件管理工具pipnpm(另有 npx 可以直接執行套件裡的指令)
預設的套件來源Python Package Index(PyPI)npm registry
專案的套件清單常見 requirements.txtpackage.json
套件裝在哪建議裝進專案的虛擬環境(常見資料夾名稱 .venv)專案底下的 node_modules 資料夾;加 -g 是全域安裝
在本站會遇到的例子ComfyUI 這類本地 AI 程式,用 python -m pip install -r 裝相依套件用 npm install -g 安裝的終端機 AI 代理、用 npx 啟動的 MCP 伺服器

表格最後一列是本站整理的例子,不是官方分類。

這兩個生態系的共同點是:一行指令就能把別人的工具連同它需要的所有套件一起裝好。Python 的 pip 預設從 PyPI 下載套件;Node.js 官方說明 npm 是 Node.js 的標準套件管理工具。對開發者來說,把工具發布成套件是成本最低的發布方式之一,所以很多 AI 教學的第一步才會是「先裝 Python」或「先裝 Node.js」。

這裡還有一個常見名詞:相依套件(Dependency),指一個程式要正常運作、必須先裝好的其他套件。Node.js 專案的相依套件寫在 package.json 裡,在專案資料夾執行 npm install,npm 就會把清單上的套件全部裝進 node_modules。Python 專案常把清單寫在 requirements.txt,用 python -m pip install -r requirements.txt 一次裝好。

npm install 和 npx 的差別

很多 AI 教學會讓你執行 npx 某個套件,而不是先 npm install。差別在於:

  • npm install:把套件下載並安裝下來,之後重複使用。不加參數時裝進目前專案的 node_modules;加 -g 是全域安裝(裝到整台電腦都能用的位置),npm 官方文件的建議是:要在命令列直接執行的工具裝在全域,要在程式碼裡引用的套件裝在專案裡。
  • npx:直接執行某個套件提供的指令。npm 官方文件說明,如果專案裡沒有這個套件,npx 會把它裝到 npm 的快取資料夾再執行,執行前會先詢問你(加 --yes 就不問)。

例如 Claude Code 的官方文件說明,有些 MCP 伺服器的設定說明會給你一行像 npx -y @example/mcp-server 的啟動指令,代表這個伺服器會在你的電腦上執行。這時你的電腦就需要 Node.js。也因為 npx 會下載並執行別人寫的程式,請只執行你信任來源的套件,安全原則見 讓 AI 代理安全操作電腦。

虛擬環境:讓每個 Python 專案各用各的套件

虛擬環境(Virtual environment)是一個獨立的資料夾,裡面有一份 Python 和這個專案需要的套件,和其他專案、和系統本身的 Python 隔開。

為什麼需要它?Python 官方教學舉的例子是:A 程式需要某個套件的 1.0 版,B 程式需要 2.0 版,如果全部裝在同一個 Python 裡,不管裝哪一版,都會有一個程式無法執行。給 A、B 各自一個虛擬環境,就互不影響。

Python 官方文件對虛擬環境的幾個說明,對初學者特別實用:

  • 常見的資料夾名稱是 .venv 或 venv,放在專案資料夾裡。
  • 不要放進 Git 這類版本控制(版本控制的概念見 給 AI 使用者的 Git 入門)。
  • 它是「用完可丟」的:應該能輕鬆刪掉再重建,所以不要把自己的程式碼放在裡面。
  • 不能搬移或複製:要換位置,就在新位置重建一個。重建時,用 requirements.txt 這類清單把套件裝回來最方便。

「啟動」(activate)虛擬環境,實際上做的事是把虛擬環境裡放執行檔的資料夾,加到 PATH 的最前面,所以之後輸入 python 會找到虛擬環境裡的那一份。官方文件也說明,啟動不是必要的:直接用虛擬環境裡 Python 的完整路徑執行,效果一樣。

怎麼看出一份教學需要哪一個?

以下是本站整理的判斷方法,不是官方標準:

  1. 先看工具的官方安裝方式。如果有官方安裝程式、桌面程式,或像 curl ... | bash 這種獨立安裝指令,通常不需要先裝 Python 或 Node.js。例如 Claude Code 用官方安裝指令就不需要 Node.js,只有改用 npm 安裝時才需要。
  2. 看指令開頭的字。python、python3、py、pip 是 Python;node、npm、npx 是 Node.js。
  3. 看專案裡的檔案。有 requirements.txt 或 .py 檔,是 Python 專案;有 package.json,是 Node.js 專案。
  4. 看有沒有自帶執行環境。有些軟體會把自己需要的 Python 一起打包,例如本站 ComfyUI 安裝教學 裡的可攜版,指令用的是資料夾裡自帶的 python_embeded\python.exe,不是你電腦上另外裝的 Python。

「找不到指令」等常見錯誤,先檢查什麼

這些指令都要在終端機(用文字輸入指令來操作電腦的程式)裡輸入。終端機、路徑、PATH 的基礎概念,請先看 終端機基礎。

你看到的狀況可能的原因先試什麼
終端機說找不到 python、node、npm 這類指令沒有安裝,或程式所在的資料夾不在 PATH 裡開一個新的終端機視窗再試;用 python3 --version(Windows 用 py --version)或 node --version 確認
用 npm install -g 裝好的工具,輸入名稱卻找不到npm 放全域指令的資料夾不在 PATH 裡依 npm 官方文件,確認全域安裝的路徑在 PATH 裡
輸入 python3 --version 出現 NameError你是在 Python 的互動模式(提示字元是 >>>)裡輸入,而不是在終端機先離開 Python 互動模式(輸入 quit()),再到終端機輸入
用 pip 安裝時出現權限錯誤想把套件裝進系統的 Python不要用系統管理員權限硬裝,改建立虛擬環境再安裝
明明裝了套件,執行時卻說找不到套件裝到了另一份 Python(電腦上常不只一份)用 python -m pip 安裝,確保 pip 和你執行的是同一份 Python;用虛擬環境時,確認已啟動

最後一列的 python -m pip 寫法,是 Python 官方教學一直使用的方式:-m 代表「用這一份 Python 執行 pip 模組」,所以套件一定會裝進你正在用的那一份 Python。

接著看什麼

常見問題

我只想用 AI 工具,不寫程式,也一定要裝 Python 或 Node.js 嗎?

不一定。只要工具是用 Python 或 JavaScript 寫的,而且你選擇用 pip 或 npm 安裝,就需要對應的執行環境;但不少工具另外提供官方安裝程式或獨立安裝指令,例如 Claude Code 用官方安裝指令就不需要 Node.js。先看工具的官方文件,再決定要不要裝。

Python 和 Node.js 要兩個都裝嗎?

看你要用的工具。它們是兩個不同語言的執行環境,彼此不互相取代,也不衝突;只用到其中一種工具,就只裝那一個。

什麼是虛擬環境?一定要用嗎?

虛擬環境是替單一專案準備的一個獨立資料夾,裡面有自己的 Python 和套件,不會和其他專案打架。Python 官方教學建議用它來解決「A 專案要舊版套件、B 專案要新版」的衝突;而且遇到權限錯誤時,官方安裝指南建議改用虛擬環境,而不是用系統管理員權限硬裝。

npm install 和 npx 有什麼不一樣?

npm install 是把套件下載、安裝進專案(或用 -g 裝到全域),之後可以重複使用。npx 是直接執行某個套件提供的指令;如果專案裡沒有那個套件,它會先問你,再把套件下載到 npm 的快取資料夾裡執行。

為什麼明明裝好了,終端機還是說找不到指令?

最常見的原因是那個程式所在的資料夾不在 PATH 裡,或是你在安裝前就開著的終端機視窗還沒讀到新的設定。先關掉終端機、開一個新視窗再試;用 npm 全域安裝的指令,npm 官方文件也提醒要確認它的安裝路徑在 PATH 裡。

可以把 .venv 或 node_modules 資料夾複製到別台電腦,或放進 Git 嗎?

不建議。Python 官方文件說明虛擬環境不該放進 Git 這類版本控制,也不適合搬移或複製,要用 requirements.txt 這類清單在新位置重建;Node.js 專案也是同樣的道理,保留 package.json,到新位置再用 npm install 裝回來。

留言

用 GitHub 帳號登入就能留言,留言會公開顯示在 GitHub Discussions。留言前請先看社群規則。

從這裡開始